vue組件中引入js文件並使用:js導入js文件到本地

javaScript是一種解釋型語言,它的執行是自上而下,但是各個瀏覽器對於至上而下的理解是有細微差別的,而代碼的上下游也就是程序流又對於程序正確至關重要。

首先得了解有幾種方法能把javaScript加入到頁面中? 常見下述的前2種,其實還有更多。

1.頁面中直接引入外部js文件:<script src=”my.js”></script>

2.頁面中直接寫入 js片段: <script>alert(1)</script>

3.在js中引入js文件(比較少用): document.write(“<scr”+”ipt src=’my.js’></scr”+”ipt>”);

注意:這時候”..</script>”必須拆成”</scr”+”ipt>”,否則瀏覽器可能會把父js片段關閉掉,出錯;

4.同樣在js中引用其他js片段,document.write(“<scr”+”ipt>alert(1)</scr”+”ipt>”);

你可能覺得這個並沒有必要,既然已經在script中了還套一層幹嘛?呵呵,怎麼說也是一種寫法,而且它具有其特殊的行為,稍後我們討論到。

5.使用Ajax中的xmlHttpRequest結合eval()來引入js,我最早在Dojo的代碼見到,寫的詳細些:

var ajaxRequest = getXmlHttpRequest()//省去各個瀏覽器得到xmlHttpRequest的部門

ajaxRequest.open(“GET”,”my.js”,false);//使用xmlHttpRequest對象Get方法的同步調用

ajaxRequest.send(null);

sJsFragment = ajax.responseText;//得到字元串為js片段

eval(sJsFragment);//執行js片段

注意:這裡要求my.js即後來的sJsFragment內容得是非常規範的js,且沒有//開頭的注釋,怎樣檢查js是否規範呢?去http://jslint.com/

6.無所不能的Dom方法,非常好用:

var oScript = document.createElement(“script”);//創建一個Script元素

oScript.src = “my.js”;//制定src屬性

document.getElementsByTagName(“head”)[0].appendChild(oScript);

說明:my.js的內容會在oScript加入到文檔中之後獲得並執行。仔細看下這段容易發現這個調用是非同步的,可以在文檔載入之後通過事件觸發,我用它變通了一下,作為了xmlHttpRequest的Get方法在跨域取數時的替代,獲得了很完美的效果,以後有機會專門寫篇文。

六種不少吧,可能還會有吧,而且這幾種之間還可能相互嵌套,變化無常。

其中1、2、4、6種方式引入的javaScript的執行順序是非常自然的,隨著頁面的載入以及後續的事件觸發,它們遵守先來後到、而其內部自上而下。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/216903.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 00:25
下一篇 2024-12-09 00:25

相關推薦

發表回復

登錄後才能評論