window.onload与$(document).ready()的区别

总所周知,

onload是原生JS中的方法,一般通过<body>标签的onload或window.onload来实现功能。

$(document).ready()方法是Jquery的方法,功能和onload差不多。

两者区别如下:


1、执行时机不同:

window.onload方法必须等待网页中所有的内容加载完毕后(包括DOM结构、内容、图片)才能执行。

$(document).ready()等待网页中所有的DOM结构绘制完毕之后就执行,可能DOM元素关联的东西并没有加载完。

由 此可见,要是网页比较复杂,$(document).ready()中的代码执行在onload前面。当然早未必是好事,有时候如计算对象的显示位置时因 为需要取指定的对象但是因为内容没有加载就获取了获取到的数据未必正确有时候还可能获取不到。所以遇到这种情况,还是两者权衡一下比较好。

2、编写个数不同:

window.onload方法只能写一个,若是有多个,只有最后加载那个才有效。

$(document).ready()可以写多个且每个都执行

3、是否有简写:

window.onload没有简写,可以通过window.onload=function(){}实现,也可以通过<body>标签的onload来绑定函数。

$(document).ready()可以简写成$(function(){}),两者是一样的。

相关推荐