原文链接 https://blog.csdn.net/Myair_AC/article/details/77839255
1 . 关于windows.onload和body的onload属性的区别网上有些说法说的也不太统一,现在系统说下:
先看共同点: 都是body内容体加载结束执行;
window.onload 内部方式可以 推荐的
body onload属性: 内联或者内嵌方式可以, 内部也可以
- 首先,这两个onload事件只能执行一个
- 在程序中设置一个onload的事件时,第一种:只设置body onload属性中可以查找到body元素 ,第二种:只设置window.onload函数中也可以查找到body元素,这是因为这两个都是body内容体加载结束执行的
- 两者同时设置:只执行body onload属性的内容; (window.onload在head头部中出现的情况),另外,还有如果window.onload出现在body onload属性的后面的情况.无论顺序则么样,除了onload事件的代码,都是按照顺序来进行的,等加载完body的页面,再执行onload事件,后面onload事件是可以覆盖前面的onload事件的.具体看代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
alert('a');
window.οnlοad=function () {
alert('b');
} ;
alert('c');
</script>
</head>
<body onload="alert('d');">
</body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
执行结果是:a c d
ac先会alert出来没有疑问,对于bd,就是谁在下面就会执行谁,这是因为html标签的加载顺序是除onload之外从上向下加载,然后会按从上向下的顺序加载onload事件,所以下面的onload会把上面的onload事件给覆盖掉.(使用谷歌浏览器)
再看另外一个代码:
<!DOCTYPE html>
<html>
<head>
</head>
<body onload="alert('d');">
</body>
<script type="text/javascript">
alert('a');
window.οnlοad=function () {
alert('b');
} ;
alert('c');
</script>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
按照上面的解释,执行结果是acd,和运行的结果是一致的.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)