通常狀況下,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形式打出的代碼。