從一個js到另一個js調用函數的規則是什麼?我認爲這工作,但我沒有遇到問題(通過火狐算出來),在另一個js文件中的函數似乎不能在我的第一個js文件中識別。在另一個.js文件中調用javascript方法
是否有一些有關排序的規則或一些你必須做的操作才能使它起作用?
從一個js到另一個js調用函數的規則是什麼?我認爲這工作,但我沒有遇到問題(通過火狐算出來),在另一個js文件中的函數似乎不能在我的第一個js文件中識別。在另一個.js文件中調用javascript方法
是否有一些有關排序的規則或一些你必須做的操作才能使它起作用?
你是在事件處理程序中調用函數還是在加載JavaScript文件時立即調用該函數?如果它不在事件處理程序中,則加載順序非常重要。如果您有循環依賴關係,則可能需要使用「DOM ready」或window.onLoad
偵聽器來延遲一些初始化。
瀏覽器按照它們出現在HTML中的順序解析javascript文件。因此,如果第一個文件中的函數依賴於第二個文件中的函數,那麼它將不起作用。如果你使用$(function(){});例如使用jQuery,這是指示JavaScript等待窗口對象觸發onload事件。這可確保頁面上的所有元素在執行前已被加載。
它必須在全球範圍內的某個地方可以訪問。例如:
// file1.js
function hello() {
alert("Hello, world!");
}
// file2.js
$(function() {
hello();
});
可能的是,你有這樣的事情:
// file1.js
$(function() {
function hello() {
alert("Hello, world!");
}
// ...
});
// file2.js
$(function() {
hello();
});
hello
只有在file1.js
所述的封閉的範圍。因此,要訪問它file2.js
,你必須將其導出到的地方在那裏file2.js
可以得到它:
// file1.js
$(function() {
function hello() {
alert("Hello, world!");
}
window.hello=hello;
});
// file2.js
$(function() {
hello();
});
而且,當函數定義必須加載,解析和執行前的腳本函數可以從另一個腳本調用。
你最後2行對我很有價值。謝謝 – 2015-10-06 14:44:37
所以如果它來自一個事件處理程序,我不需要擔心?? – leora 2011-04-26 12:22:03