大家仔细看下面两段代码,代码一的window.onload = doIt()函数后面有();而代码二的window.onload = doIt函数名后面没有括号。<把两段代码分别测试后发现不带括号的window.onload在页面加载后显示了正确的效果。 
我的想法是:
window.onload = doIt只是为window注册了一个加载函数,并没有立即执行
,请问我的想法是否正确,如果正确,那onload事件是被什么调用执行的呢?

解决方案 »

  1.   

    是的,不加括号是注册函数,加上括号就会立即执行,并把结果赋给window.onload。window.onload在当页面加载完成时调用。
      

  2.   

    ++window.onload = doIt();
    是把doIt的结果给window.onload
      

  3.   

    window.onload();
    这样能执行window.onload = function(){};
    这样只是绑定事件