js中有window.onload和<BODY>中的onload属性同时存在时

转自于http://topic.csdn.net/u/20100608/14/aa805ed6-0820-47c7-b866-6dd93d90ea67.html (9楼)

情况一,window.onload指定的function是匿名的,则只执行后者,且动作是后者的动作。如:

[html]  view plain  copy
  1. <html>  
  2.         <head>  
  3.         <script type="text/javascript">  
  4.         alert('a');  
  5.         window.onload=function(){    //   
  6.             alert('b');  
  7.         }  
  8.         alert('c');  
  9.         </script>  
  10.         </head>  
  11.         <body onload="alert('d');">  
  12.         </body>  
  13.   </html>  

----显示:acd
情况二,window.onload指定的function不是匿名的,则都会执行,前者先于后者。如:

[html]  view plain  copy
  1. <html>   
  2. <head>   
  3. <script type="text/javascript"> alert('a');  
  4. window.onload=fn(); // 后续脚本不执行 function fn(){  
  5.  alert('b');  
  6. } alert('c');  
  7.  </script>   
  8. </head>   
  9.   
  10.  <body onload="alert('d');">  
  11.  </body>   
  12. </html>  

----依次显示:abd
window.onload在<BODY>中
情况三,window.onload指定的function是匿名的,则只执行后者,但动作前者是前者的动作。如:

[html]  view plain  copy
  1. <html>  
  2.         <head>  
  3.         </head>  
  4.         <body onload="alert('a');">  
  5.         <script type="text/javascript">  
  6.         alert('b');  
  7.         window.onload=function (){      
  8.             alert('c');  
  9.         }  
  10.         alert('d');  
  11.         </script>  
  12.         </body>  
  13. </html>  

----依次显示:bdc
情况四,window.onload指定的function不是匿名的,则都会执行,前者优于后者。如:

[html]  view plain  copy
  1. <html>   
  2. <head>   
  3. </head>   
  4. <body onload="alert('a');">   
  5. <script type="text/javascript"> alert('b');  
  6. window.onload=fn(); // 后续脚本未执行 alert('c');   
  7. function fn(){   
  8. alert('d');   
  9. }  
  10.  </script>   
  11. </body>   
  12. </html>  

----依次显示:bda

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值