簡體   English   中英

是否可以將window.onload視為全局變量,可以將其放在模塊模式中嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM