JavaScript 執行順序淺析

codeceo發表於2015-03-17

這是一篇關於JavaScript基礎的文章,重要闡述了JavaScript在網頁載入後執行的順序問題,這對我們瞭解JavaScript的執行機制有著非常重要的幫助,一起來看看。

Javascript是執行順序是至上而下的,除非你特別說明, Javascript程式碼不會等到頁面載入完畢後才執行。比如一個網頁裡含有以下HTML程式碼:

<div id="ele">welcome to www.codeceo.com</div>

如果你在這行HTML程式碼前,加入如下Javascript程式碼:

<script type="text/javascript">
  document.getElementById('ele').innerHTML= 'welcome to my blog';
</script>

執行該頁面,你會得到這樣的錯誤資訊:“document.getElementById(‘ele’) is null。”原因是,當上面的javascript執行時,頁面上還沒有ID為‘ele’的DOM元素。

解決辦法有兩種:

1. 把javascript程式碼放在HTML程式碼之後:

<div id="ele">welcome to www.codeceo.com</div>
<script type="text/javascript">
  document.getElementById('ele').innerHTML='welcome to my blog';
</script>

2. 等到在網頁載入完畢後,執行該javascript程式碼。你可以使用傳統的解決辦法(load):首先加HTML的body加入“<body load=”load()”>,”然後在load()函式裡呼叫上述javascript程式碼。這裡要著重介紹的是用jQuery來實現:

<script>
$(document).ready(function(){
   document.getElementById('ele').innerHTML= 'welcome to my blog';
});
</script>
//當然,既然用到了jQuery,更簡單的寫法是:
<script>
$(document).ready(function(){
   $('#ele').html('welcome to my blog'); //這裡也可用.text()方法
});
</script>

你可以把上述jQuery程式碼放在頁面的任何位置,它總是等到頁面載入完畢後才執行。

以上就是我們對JavaScript執行順序的分析過程,希望對你有所幫助。

相關文章