【原创】Javascript在html中的执行顺序

        换了新的工作,需要接触Javascript了。以前总是写php的代码,对Javascript还是很不熟悉的。今天在写代码的时候,发现一个问题:Javascript在html中的执行顺序,特来总结一下。

        下面是一段Javascript代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题 3</title>
<script>
    alert("1-最先执行");
</script>
</head>
<body onload="alert('3-最后执行');">
<script>
    alert("2-接着执行");
</script>
</body>
</html>

        这段js代码的执行顺序是怎样的呢?下面是执行结果:
1-最先执行
2-接着执行
3-最后执行
 
        开始感觉很奇怪,不过后来仔细想想也是很正常的。页面上的Javascript代码是HTML文档的一部分,所以Javascript在页面装载时执行的顺序就是其引入标记<script>的出现顺序, <script>标记里面的或者通过src引入的外部JS,都是按照其语句出现的顺序执行,而且执行过程是文档装载的一部分。
        body的onload属性要执行的js代码应该等待外部的DOM树构造完成后,才能开始执行。这样可以保证代码的正确性。例如onload属性要调用某个外部js文件里的函数。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章