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

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

JavaScript'吊裝'

JavaScript'吊裝'

翻翻過去那場雪 2019-09-20 17:22:02
我遇到了JavaScript'hoisting',我沒有弄清楚這段代碼是如何起作用的:var a = 1;function b() {    a = 10;    return;    function a() {}}b();alert(a);我知道像(function a() {})這樣的函數(shù)聲明將被提升到函數(shù)b作用域的頂部,但是它不應(yīng)該覆蓋a(因?yàn)楹瘮?shù)聲明覆蓋變量聲明而不是變量初始化)的值,所以我期望警報(bào)的值會是10而不是1 !!
查看完整描述

3 回答

?
回首憶惘然

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

  1. 全局a設(shè)定為1

  2. b() 叫做

  3. function a() {}被懸掛并創(chuàng)建一個(gè)掩蓋全局變量的局部變量aa

  4. 本地a設(shè)置為10(覆蓋函數(shù)a

  5. 全局a(靜止1)被警告


查看完整回答
反對 回復(fù) 2019-09-20
?
躍然一笑

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

這是因?yàn)檫@個(gè)例子中的編譯/解釋順序有些誤導(dǎo)。function a () {}在執(zhí)行任何其余函數(shù)之前解釋該行,因此在函數(shù)的最開始,a其值為function a () {}。當(dāng)您重新分配它時(shí)10,您將重新分配a函數(shù)的本地作用域中的值b(),然后在返回后將其丟棄,并將原始值保留a = 1在全局作用域中。

您可以通過alert()在適當(dāng)?shù)奈恢梅胖胹等來驗(yàn)證這一點(diǎn),以查看a各個(gè)點(diǎn)的值。


查看完整回答
反對 回復(fù) 2019-09-20
  • 3 回答
  • 0 關(guān)注
  • 455 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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