慕田峪9313313
2016-03-06 14:37
为什么上一节中
<script type="text/javascript">
document.write("hello");
document.getElementById("p1").style.color="blue";
</script>
这段代码放在<head>中与放在<body>中效果不一样,不是说都可以的吗?那究竟是怎么回事?
javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。
这里这样子理解吧,浏览器解析html是从上到下的,如果把javascript放在head里的话,则先被解析,但这时候body还没有解析,所以会返回空值。很明显,我们这里是使用的document.getElementById("p1").style.color="blue";中的“p1”还没有被解析的时候,head里面的js就已经解析完了,所以不会有作用,最好是使用function来处理,这样子更加方便。
为了和代码分开 最好放在head'中 java代码在body
JavaScript入门篇
739826 学习 · 9566 问题
相似问题