JS語(yǔ)言的執(zhí)行順序


<script type="text/javascript">
      alert(str);//因?yàn)闆](méi)有定義str,所以瀏覽器會(huì)出錯(cuò),下面的不能運(yùn)行
      alert("我是代碼塊一");//沒(méi)有運(yùn)行到這里
      var test = "我是代碼塊一變量";
</script>
<script type="text/javascript">
      alert("我是代碼塊二"); //這里有運(yùn)行到
      alert(test); //彈出"我是代碼塊一變量"
</script>
  • 上面的代碼中代碼塊一中運(yùn)行報(bào)錯(cuò),但不影響代碼塊二的執(zhí)行,這就是代碼塊間的獨(dú)立性,而代碼塊二中能調(diào)用到代碼一中的變量,則是塊間共享性。

>>> JS的執(zhí)行步驟:

step 1. 讀入第一個(gè)代碼塊。
step 2. 做語(yǔ)法分析,有錯(cuò)則報(bào)語(yǔ)法錯(cuò)誤(比如括號(hào)不匹配等),并跳轉(zhuǎn)到step5。
step 3. 對(duì)var變量和function定義做“預(yù)編譯處理”(永遠(yuǎn)不會(huì)報(bào)錯(cuò)的,因?yàn)橹唤馕稣_的聲明)。
step 4. 執(zhí)行代碼段,有錯(cuò)則報(bào)錯(cuò)(比如變量未定義)。
step 5. 如果還有下一個(gè)代碼段,則讀入下一個(gè)代碼段,重復(fù)step2。
step 6. 結(jié)束。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容