【原創】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文件裏的函數。




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