2011-10-20 60 views
0

可能重複:
Javascript Load Order秩序的JavaScript文件加載在一個HTML頁面

如果我們在HTML頁面的頁眉一些腳本標籤則是有必要它們將以連續的方式呈現或者可以以任何順序返回。更具體地說,我在HTML頭部分有腳本標記,它們僅用於加載.js文件。現在,如果腳本標記早點出現,這意味着它將提前呈現,並且沒有其他.js文件將被加載,直到當前文件被加載。同樣,如果我們有兩個具有相同名稱的函數,那麼通過將其中一個函數放置在腳本標記中(內聯)可確保只有在調用此重複名稱函數時纔會調用此函數。

謝謝, 傑克

+0

JavaScript文件和代碼按照它們定義的順序加載/執行。後來的函數定義將覆蓋現有的函數。 –

回答

1

<script>在HTML文檔中標記除非async屬性設置順序執行。這是因爲他們可以通過調用document.write來修改HTML文檔(例如,添加必須在原始HTML文檔中的下一個腳本之前加載和執行的其他腳本)。

由於順序無關緊要,您不應該使用document.write,而是DOM(或使用DOM的庫),您應該將腳本放在文檔的底部。儘管後面的變量賦值(在JavaScript中包含函數定義)會覆蓋前者,但建議爲函數使用不同的前綴以避免名稱相互衝突,和/或使用私有變量,如下所示:

function f() { 
    console.log("do one thing"); 
} 

(function() { 
    function f() { 
    console.log("do another thing"); 
    } 
    f(); // prints "another" 
})(); 

// The "another" function is not visible here. 
0

加載Java腳本的順序依次是

如果你使用任何跨域腳本後,本地腳本,將加載(移動在同一個域中的腳本)

嘗試把腳本只包含HTML的前否則該腳本將覆蓋變量

相關問題