做web开发时常用Jquery中$(document).ready()和JavaScript中的window.onload方法,两者都是要在页面加载完成以后加载的方法,但是这两者还是有很大区别的。最近遇到了这样的问题,查询了多篇文章,做一下总结。
简单来说,要以用以下张表来表示 :
window.onload() | $(document).ready() | |
加载时机 |
必须等待网页全部加载完毕(包括图片等),然后再执行JS代码 |
只需要等待网页中的DOM结构加载完毕,就能执行JS代码 |
执行次数 |
只能执行一次,如果第二次,那么第一次的执行会被覆盖 |
可以执行多次,第N次都不会被上一次覆盖 |
举例 |
以下代码无法正确执行: window.onload = function() { alert(“text1”);};
window.onload = function() { alert(“text2”);};
结果只输出第二个 |
以下代码正确执行: $(document).ready(function(){alert(“Hello”)});
结果两次都输出 |
简写方案 | 无 | $(function () {}) |