javascript - 关于window.onload的问题
ringa_lee
ringa_lee 2017-04-11 12:50:06
[JavaScript讨论组]

想请问一下哪些内容应该放在window.onload里面,我看有好多都是把全部的js代码都放在里面,这样在里面写函数那不是会创建很多闭包,而闭包会影响性能。
还有就是如果我的script标签放在body结束标签的前面,这样还需要window.onload吗。

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
PHPz

window.onload是在在文档装载完成后会触发。此时,在文档中的所有对象都在DOM中,所有图片,脚本,链接以及子框都完成了装载。
如果script标签放在body结束位置时,这时执行的文档dom已经装载完(不包括所有图片,脚本,链接),可以不用写window.onload。

怪我咯

关于性能:
我觉得因为这样才出现了模块化,CommonJS同步加载(nodejs),AMD依赖关系前置,CMD按需加载,这些都是管理js代码的方法,减少影响的有效途径.

关于</body>前的<script></script>
个人见解:
window.onload事件明确规定了事件在页面上所有的DOM、样式表、脚本、图片和flash都已经加载完成了之后.

而当我们把script标签放在body结束标签前的时候,我们并不能和window.onload事件一样保证加载的完成度(图片),仅仅表示DOM解析完毕,并不代表着资源完美呈现.

关于详细的方面可以自己去搜索下资料,深入了解下window.onload和DOMContentLoaded事件还有浏览器解析步骤

PHP中文网

首先要区别window.onloaddomready
window.onload是页面所有资源加载完成后才会执行。
domready仅仅是dom元素加载完成后执行。
所以一般来说,window.onload会在domready后面执行,因为页面一般避免不了图片和其他资源下载。
个人一般直接把js写在body最下面,因为那个时候已经是dom加载完成了,所以本人一般不用window.onloaddomready
如果要用的话,建议使用domeady或则jquery$(function(){ ... })

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号