为了账号安全,请及时绑定邮箱和手机立即绑定

js脚本如果写在body上面,window.onload=function(){....}具体的作用是什么,不知道什么时候该用?

js脚本如果写在body上面,window.onload=function(){....}具体的作用是什么,不知道什么时候该用?

慕粉者 2016-05-18 23:30:53
<!DOCTYPE html><html><head><meta charset="utf-8"/>    <title></title>  <script type="text/javascript" language="javascript">window.onload=function(){    .......}    </script></head><body><a href="http://www.baidu.com" target="_blank" onclick="return aa()">点击</a></body></html>
查看完整描述

7 回答

?
乱舞的旋律

TA贡献105条经验 获得超38个赞


就是事件处理程序啊,

就是满足某一状态就会自动执行注册上去的函数。

window.onload=……

就是当加载完成时执行

还有很多类似的onclick onmouseover等等

查看完整回答
1 反对 回复 2016-05-19
?
涂大仙

TA贡献18条经验 获得超15个赞

window.onload=function(){}是指当页面全部加载完毕之后,再去执行function(){}大括号中的代码。

这样写是因为要保证代码执行的时候,HTML的所有DOM节点已经加载出来了。由于性能或者网络问题,页面的加载不是一瞬间完成的,是有一个时间过程的,比如你想用JS操作一张图片的话,当网页读取到这一段JS代码的时候,图片的DOM节点可能还没有加载出来,浏览器就会报错。为了避免这种情况,所以要在window.onload事件触发之后,再去执行后面的function。

上面只是一个比较简单的解释,更详细的你可以查阅一下相关的资料,涉及到了浏览器的渲染机制、DOM的加载顺序等等。

查看完整回答
1 反对 回复 2016-05-19
  • 慕粉者
    慕粉者
    我明白它的作用是提前预加载,就是搞不清楚什么时候需要用,学的不好,所以很懵懂
?
qq_Aries

TA贡献11条经验 获得超3个赞

首先告诉你这是函数作用域的问题   通俗的说你把onclick写在onload外面      当你点击的时候是找不到aa函数的;所以呢  你要把点击事件写在里面  例子看一楼

查看完整回答
反对 回复 2016-05-20
?
qq_大寒_2

TA贡献173条经验 获得超185个赞

这问题最好去百度,涉及面很广,你看到window.onload 会牵扯出function addloadevent,body.onload,至于body.onload和window.onload从字面上理解一个是窗口加载,一个是body内部加载。窗口加载肯定包含body加载了,然后还会有js站外引用documentwrite转义的函数代码块也是加载相关问题,js加载问题会有很多,目前也没弄清。

查看完整回答
反对 回复 2016-05-19
?
慕粉13052355856

TA贡献7条经验 获得超2个赞

这种写法很少见哎 应该写在head里面的 作用的话就是所有元素加载完成以后执行那个匿名函数。。。最好还是写body.onload吧 window.onloaf的执行顺序有点奇怪

查看完整回答
反对 回复 2016-05-19
  • 7 回答
  • 0 关注
  • 4763 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信