你是否理解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形式打出的代碼。

          posted on 2006-08-24 00:51 窮鬼 閱讀(155) 評論(0)  編輯  收藏 所屬分類: AJAX學習
          主站蜘蛛池模板: 徐汇区| 长治县| 土默特左旗| 新化县| 宁海县| 井冈山市| 平乡县| 富平县| 南木林县| 墨江| 城固县| 宝兴县| 宁国市| 和龙市| 锡林浩特市| 新余市| 那曲县| 广饶县| 本溪| 缙云县| 平罗县| 射阳县| 新龙县| 阿勒泰市| 霍邱县| 中江县| 江达县| 友谊县| 浦江县| 宣恩县| 崇阳县| 云安县| 保康县| 佛冈县| 黄梅县| 上饶市| 嫩江县| 博野县| 正安县| 内乡县| 深州市|