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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

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

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

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

2 回答

?
幕布斯7119047

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


舉個(gè)例子就知道了。


<script>

  var a = 1

</script>

<script>

  console.log(a) // 1

</script>

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

我又試了試:


<script>

  console.log(a) // 報(bào)錯(cuò) Uncaught ReferenceError: a is not defined

</script>

<script>

  var a = 1

</script>

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


我又試了試這個(gè):


<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)簽中的代碼會(huì)執(zhí)行,打印 1.


我個(gè)人的理解:

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

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

  3. 這兩個(gè)<script>中的代碼他們擁有同一個(gè)全局作用域,但是因?yàn)樗鼈兪欠珠_渲染與解析的:

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


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

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

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


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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