确保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>
实验二:函数
<!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的事件处理函数中,
保证了文档加载完成以后再执行。ui