1

作用:

确保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>

clipboard.png

实验二:

<!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>

clipboard.png

我们的目的是给盒子box加上背景颜色,
结果实验一失败,实验二成功了。
原因就在于
代码是按照顺序执行的,
当运行到document.getElementById("box").style.backgroundColor = "skyblue";
这句时,div对象还未来得及加载,因而设置失效。
而实验二将该脚本放在了window.onload的事件处理函数中,
保证了文档加载完成之后再执行。


杳杳飞花_Hwj
192 声望17 粉丝