你是否理解JavaScript的執行順序?

來源:互聯網
上載者:User
javascript|執行

通常狀況下,JavaScript作為一種解釋性的指令碼,都是從上而下順序執行的,但是JavaScript還允許在其語句中嵌套,也就是這個樣子:

document.write("<script>alert(t);</scr"+"ipt>");

注意:</script>不能寫作</script>,要用字串串連的形式來表述,否則會有語法錯誤,估計是因為JavaScript遇到</script>就以為指令碼結束了。

在這種情況下,正常的指令碼和嵌入的指令碼的執行順序就需要研究一下了。

b.js:[下載]

alert("5"); 


a.js:[下載]

alert("4");
document.write("<script src=b.js></scr"+"ipt>");
alert("6");


test.html:[下載]

<script src=a.js></script>
<script>
alert("1");
document.write("<script src=b.js></scr"+"ipt>");
document.write("<script>alert("3")</scr"+"ipt>");
alert("2");
</script> 

執行test.html,可以看到列印的順序是:4,6,5,1,3,2,5

還可以做一些相關測試,得出的結論是:
1.同級的不同的代碼塊,代碼塊間的執行順序為從上到下;
2.在代碼中內嵌程式碼的情況下,先執行上層代碼塊,再執行子代碼塊;代碼中內嵌程式碼是指一個檔案引入另一個檔案,而不是指所有的通過document.write形式打出的代碼。



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。