js写在head与写在body有什么区别
1个回答
展开全部
这个和代码的执行顺序有关,代码的读取是自上而下的,如果你的JS放置在顶端并且没有进行一些处理(如网页加载完毕之后再执行JS)的话,那么在读取JS时,底部的HTML内容并没有被加载,HTML当中的标签可能就是获取不到的
如果把JS放置在body的关标签之前,则能够保证JS会在网页加载完毕之后再被读取,也就不会出现相应的一些错误或问题。
当然JS给了开发者更强大的功能,可以让网页加载完毕之后再执行JS(如果放置在顶端的话,原生方法onload)
具体可以看这个实例:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5 学堂 - 原创技术文章</title>
<script>
var test1 = document.getElementById('h5course');
console.log(test1);
</script>
</head>
<body>
<div id="h5course">HTML5</div>
<script>
var test2 = document.getElementById('h5course');
console.log(test2);
</script>
</body>
</html>
最终浏览器打印效果如下图:
前者没有获取到标签,而后者则拿到了标签
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询