Javascript window.onload是否被视为全局变量?我可以将其放入模块模式中吗?

Javascript window.onload是否被视为全局变量?我可以将其放入模块模式中吗?,javascript,Javascript,我正在将大约600行javascript重构到模块模式中。以下是从上一篇文章开始的: 我理解匿名方法的概念…和sefl执行…但不理解范围概念…即。全局和窗口的作用 window.onload=initialize_page; (function (global) { global['test'] = 'test'; function initialize_page() { /* fill here */ } })(window); 我可以将window.onloa

我正在将大约600行javascript重构到模块模式中。以下是从上一篇文章开始的: 我理解匿名方法的概念…和sefl执行…但不理解范围概念…即。全局和窗口的作用

window.onload=initialize_page;

(function (global) {  
 global['test'] = 'test'; 

function initialize_page()
  {
  /* fill  here */
  }

})(window); 
我可以将window.onload=initialize\u页面放入我的模块模式吗?还是需要把它放在外面?有人能解释一下访问是如何工作的吗

编辑1:每个答案

(function () {  

addEventListener('load', initialize_page);

function initialize_page()
  {
  alert ("hi");
  }

})(); 

这是一个全球性的问题。不要那样触摸它,您将覆盖任何其他试图分配加载处理程序的代码


改用
addEventListener
(或
attachEvent
用于旧IE)。有很多抽象的功能

我不是专家,但我认为
window.onload
是一个被调用的函数,所以您可以将它重置为另一个函数(您创建的)。你把它当作一个宏。由于传递时,
initialize\u页面
不存在,它可能会传递到
窗口。onload
as
null

您能否详细说明…“不要那样触摸它”,您的意思是不要直接分配它…使用addEventListener…方法是addEventListener()在单个目标上注册单个事件侦听器。事件目标可能是文档中的单个节点、文档本身、窗口或XMLHttpRequest…可能很密集。但是什么是window.onload?它不是节点、文档、窗口或XMLHttpRequest。所以是适用的,我缺少什么?我以为它是一个对象属性?window.onload不是一个函数…它是window对象的属性…它指向一个在“页面”加载/重新加载时调用的函数…Ithink@stack.user.0对不起,当我从C移到JS时,我不再区分值和指针了。是的,您可以使用不同的函数(指针)覆盖属性,但前提是该函数(指针)存在\@C是一种很棒的语言(我不是这个意思),但我更喜欢JS的效率和自由度。