一、window.onload与onload属性:
假设已经定义了这样一个函数:
function doSomething(){
//do something...
}
既可以在html标记中指定该函数:<body οnlοad="doSomething()"></body>
也可以在JavaScript中使用该函数:window.οnlοad=doSomething;
二者都会在页面加载完成时执行该函数,但是JavaScript中使用该方式的优点在于使行为更清晰的从标记中分离开来。
Tips1:.页面加载完成,指的是HTML下载完成并解析成DOM树,同时所有相关联的文档也下载完成。
Tips2:将函数指定为处理程序时,省略了后面的圆括号,至使用了函数名。如果带着圆括号,则函数会被立即调用;没有圆括号,函数名只是函数的标识符,用于在将来调用函数。
二、$(document).ready()与window.onload
1.所属语言不同
window.onload:是JavaScript中的方法;
$(document).ready():是jQuery中的方法;
2.执行时间不同
window.onload:HTML下载完成并解析成DOM树,同时所有相关联的文档也下载完成后才能执行。
$(document).ready():HTML下载完成并解析成DOM树(DOM结构绘制完毕)后就执行,不必等到所有相关联的文档加载完毕。
3.执行函数个数不同
window.onload:不能同时执行多个函数,如果有多个window.onload方法,只会执行最后一个,因为后者会向前覆盖;
$(document).ready():可以同时指定多个函数,并且这些函数会按照注册的顺序依次执行。
4.简化写法
window.onload:没有简化写法
$(document).ready(function(){}):可以简写成$(function(){});