作用:
确保JavaScript脚本在文档加载完成之后再执行,这样避免了加载未完成就执行脚本,而无法获取对象的情况。
为了便于理解,我们做以下实验:
实验一:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>window.onload用法</title>
<style>
#box{
width: 200px;
height: 200px;
border: 1px solid #000;
}
</style>
<script>
document.getElementById("box").style.backgroundColor = "skyblue";
</script>
</head>
<body>
<div id="box"></div>
</body>
</html>
实验二:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>window.onload用法</title>
<style>
#box{
width: 200px;
height: 200px;
border: 1px solid #000;
}
</style>
<script>
window.onload = function() {
document.getElementById("box").style.backgroundColor = "skyblue";
}
</script>
</head>
<body>
<div id="box"></div>
</body>
</html>
我们的目的是给盒子box加上背景颜色,
结果实验一失败,实验二成功了。
原因就在于
代码是按照顺序执行的,
当运行到document.getElementById("box").style.backgroundColor = "skyblue";
这句时,div对象还未来得及加载,因而设置失效。
而实验二将该脚本放在了window.onload的事件处理函数中,
保证了文档加载完成之后再执行。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。