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

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

JS變量提升

JS變量提升

有哪位大神知道為什么最后一個(gè)console.log會(huì)報(bào)錯(cuò)我自己嘗試了debugger發(fā)現(xiàn)if語(yǔ)句進(jìn)不去,a是等于1的
查看完整描述

6 回答

?
心有法竹

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

a++ 是 0然后 a 是 1


查看完整回答
反對(duì) 回復(fù) 2019-04-08
?
收到一只叮咚

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

a++后自增,先參與運(yùn)算,然后在自身加1.


查看完整回答
反對(duì) 回復(fù) 2019-04-08
?
慕容708150

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

你把var a=0 改成 var a=1試一試。


查看完整回答
反對(duì) 回復(fù) 2019-04-08
?
繁星點(diǎn)點(diǎn)滴滴

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

因?yàn)?code>if (a++) {}的時(shí)候a還是0,所以直接執(zhí)行下面的console.log(a())


查看完整回答
反對(duì) 回復(fù) 2019-04-08
?
夢(mèng)里花落0921

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

這里有兩個(gè)坑:

一、在變量提升過(guò)程中有這樣的順序,函數(shù)形參 > 函數(shù) > 變量,另外,賦值操作會(huì)覆蓋聲明過(guò)程。

針對(duì)這題相當(dāng)于:


function a(){}

var a;

a = 0;// 這里的賦值操作會(huì)覆蓋前面聲明的function a,

....

二、js 引擎編譯過(guò)程的差異

代碼:


console.log(a);

var a = 0;

console.log(a);

if (a++) {

    function a() {console.log('function a')};

}

console.log(a());

chrome v8會(huì)在編譯對(duì)不執(zhí)行代碼(dead code)(這里時(shí)條件為false)進(jìn)行優(yōu)化,我的理解是這里function a(){} 這段被去除。所以這里function a 在執(zhí)行時(shí)就不存在提升了。

undefined

0

// 報(bào)錯(cuò)

IE Chakra(我在IE11進(jìn)行了測(cè)試) 會(huì)把function a(){} 編譯進(jìn)去,就是和我們預(yù)期的函數(shù)、變量提升相同。

function a() {console.log('function a')};

0

// 報(bào)錯(cuò)


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

添加回答

舉報(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)