在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js && 別人發(fā)過來的一道面試題 不太明白運算過程

js && 別人發(fā)過來的一道面試題 不太明白運算過程

function dd(){

var a = 4;
if(a += 6 && a++){
    console.log(a);
} 

}
按照之前的理解 因為不滿足判斷條件 應(yīng)該是不執(zhí)行if里面的東西 返回undefined; 可結(jié)果是輸出 8 求解

回答
編輯回答
孤影

因為 += 的優(yōu)先級小于&& 。 所以你可以理解成醬紫。

a += (6 && a++)

然后 6 && a++ 的結(jié)果是4 。 所以替換一下就變成。

a += 4

答案就是8

2017年8月13日 07:21
編輯回答
心沉

結(jié)果等效于

var a = 4;

if(1){
    eval(a += 6 && a++); // 先計算 6 && a++ 的結(jié)果為a,也就是4,然后再計算 a += 4

    console.log(a);
} 

上面的6也可以是10000,只要為真就行,至于為什么,我想應(yīng)該是表達式的執(zhí)行順序?qū)е铝诉@個結(jié)果。

2018年7月10日 12:07