window.onload与body.onload

这两个都是在页面加载后运行。执行顺序和在代码中的位置有关,也和window.onload后面的函数是否匿名有关。

1.如果window.onload是在body里定义的,也就是在body onload后面定义的,则只执行window.onload,不会执行body onload。即遵循“”从上到下依次加载,后者覆盖前者“的原则。

2.如果window.onload是在head里定义的(通常都是这样使用)。就要看等号后面的函数是不是匿名的。

只有非匿名的才会被执行,且两者都执行。按从上到下的顺序,先执行window.onload,后执行body.onload。

匿名的则会被body onload覆盖。即遵循“”从上到下依次加载,后者覆盖前者“的原则。

代码:

函数不是匿名的代码如下:(即引用预先定义的函数):

window.onload = xx();

函数是匿名的代码如下:

window.onload = function(){
    //执行代码
};

补充:

顺便提一下jQuery的加载函数, 也是要等到文档完全加载后执行,入口如下:

$(document).ready(function(){
    //执行代码
});

也可简写为

$(function(){
    //执行代码
};

它和JavaScript 的window.onload的区别是不需要等到所有外部文件加载完毕,只要htmll 所有标签(DOM)都加载之后,就会去执行。并且不会被覆盖,可以多次执行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值