[英]Is window.onload considered a global variable can I put it in my module pattern?
我將約600行javascript重構為模塊模式。 這是從以前開始后 :我undertand的匿名方法的概念...和sefl執行的....但沒有作用域概念...即什么是全局和窗口做。
window.onload=initialize_page;
(function (global) {
global['test'] = 'test';
function initialize_page()
{
/* fill here */
}
})(window);
我可以將window.onload = initialize_page放入我的模塊模式嗎? 還是需要將其放在外面? 有人可以解釋訪問方式嗎?
編輯1:每個答案
(function () {
addEventListener('load', initialize_page);
function initialize_page()
{
alert ("hi");
}
})();
這是全球性的。 不要那樣觸摸它,您將覆蓋任何其他嘗試分配負載處理程序的代碼。
請改用addEventListener
(或對於舊IE而言是attachEvent
)。 有很多庫可以抽象該功能。
我不是專家,但是我認為window.onload
是一個被調用的函數,因此您將其重置為另一個函數(由您創建)。 您正在使用它作為宏。 由於initialize_page
在傳遞時不存在,因此它可能會以null
傳遞給window.onload
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.