多個script標籤的作用域

2021-09-24 05:59:54 字數 419 閱讀 8345

多個script標籤的作用域

當頁面中存在多個

看下面的**:

複製**

這段**會報 uncaught referenceerror: a is not defined 的錯誤,而不是undefined,所以可以看出編譯器是按塊進行編譯的,

也就是說是按script標籤一塊一塊進行編譯的,在第乙個塊中,並沒有宣告a變數,(這也證明了a變數並沒有被宣告提前,直到第二個script內部才被提前的。)所以才會彈出這個錯誤,而不是undefined。

在看乙個例子:

複製**

這段**的執行的結果是111,這說明了,雖然編譯不是同時進行的,但作用域始終還是乙個,只是編譯器編譯的時候是乙個塊乙個塊從上向下進行編譯的。

script標籤的crossorigin屬性

通常我們使用window.onerror來捕獲js指令碼的錯誤資訊。但是對於跨域呼叫的js指令碼,onerror事件只會給出很少的報錯資訊 error script error.這個簡單的資訊很明顯不足以看出指令碼的具體錯誤,所以我們可以使用crossorigin屬性,使得載入的跨域指令碼可以得出跟...

script標籤的位置

在我們編寫 的時候,會在頁面內使用 script 標籤來寫js,雖然理論上script標籤的位置放在 可以,但是還是有一點區別的。為什麼很多人把script標籤放在底部 初學者在學習js的時候看見很多demo裡面的script標籤寫在底部,但是卻不是很清楚為什麼,下面來解釋一下 雖然理論上放在 都是...

js利用script標籤進行跨域請求

ajax的jsonp雖然可以進行跨域,但是由於返回的資料問題,可能存在無法正確捕捉回執結果,即 成功請求且在控制台network中看到結果,但是ajax始終捕捉為錯誤資訊且無法拿取返回值。下面直接上 var correct function address 利用script標籤來進行跨域請求,需要自...