why

当脚本放在<head>标签中,并且初始化需要调用<body>中的节点时,由于此时<body>未被加载,所以脚本会运行错误

how

  • <script>至于<body>之后,等节点被加载后,再执行脚本
1
2
3
4
5
6
<body>
<div id="root"></div>
</body>
<script type="text/javascript">
console.log(docment.body.id)
</script>
  • <script添加defer参数
1
2
3
4
5
<head>
<script type="text/javascript" defer>
console.log(docment.body.id)
</script>
</head>
  • window.onload()

window.onload()将会在网页加载完毕后立即执行

最后更新: 2022年11月06日 05:44