第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個網(wǎng)頁中有多個<script>標(biāo)簽時的問題?

一個網(wǎng)頁中有多個<script>標(biāo)簽時的問題?

慕容森 2019-04-20 14:19:46
一個網(wǎng)頁文件中有多個<script>標(biāo)簽時,每個<script>代碼執(zhí)行后的結(jié)果依然保存到內(nèi)存中么?還是會立即釋放并關(guān)閉開始執(zhí)行下一個<script>中的代碼?
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊


舉個例子就知道了。


<script>

  var a = 1

</script>

<script>

  console.log(a) // 1

</script>

這說明<script>標(biāo)簽中的代碼執(zhí)行后并沒有釋放關(guān)閉。

我又試了試:


<script>

  console.log(a) // 報錯 Uncaught ReferenceError: a is not defined

</script>

<script>

  var a = 1

</script>

這說明兩個<script>標(biāo)簽中的代碼并不存在變量提升,這是為什么呢?


我又試了試這個:


<script>

  console.log(a) // Uncaught ReferenceError: a is not defined

  var b = 1

  console.log(b)

</script>

<script>

  var a = 1

  console.log(a); // 1

</script>

后面標(biāo)簽中的代碼會執(zhí)行,打印 1.


我個人的理解:

  1. 這和瀏覽器中 UI 線程、JS 解析線程有關(guān)

  2. <script>標(biāo)簽是瀏覽器中的 UI 線程負(fù)責(zé)解析的,并且一個<script>標(biāo)簽就是一個代碼塊兒,而<script>中的代碼是 JS 解析線程負(fù)責(zé)解析的

  3. 這兩個<script>中的代碼他們擁有同一個全局作用域,但是因為它們是分開渲染與解析的:

所以:也就是說,每個<script>標(biāo)簽先由 UI 線程渲染,再由 JS 線程解析,JS 代碼分次被解析,但是他們擁有同一個全局作用域。


查看完整回答
反對 回復(fù) 2019-05-19
?
嚕嚕噠

TA貢獻(xiàn)1784條經(jīng)驗 獲得超7個贊

個人可以理解把每個script標(biāo)簽里的代碼嵌在對應(yīng)的位置,執(zhí)行結(jié)果是否保存在內(nèi)存中,取決于結(jié)果的作用域和結(jié)果是否被引用


查看完整回答
反對 回復(fù) 2019-05-19
  • 2 回答
  • 0 關(guān)注
  • 1521 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號