JavaScript window.onload的做用

做用:

确保JavaScript脚本在文档加载完成以后再执行,这样避免了加载未完成就执行脚本,而没法获取对象的状况。

为了便于理解,咱们作如下实验: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>
    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的事件处理函数中,
保证了文档加载完成以后再执行。ui

相关文章
相关标签/搜索