js && 别人发过来的一道面试题 不太明白运算过程

functiondd(){
vara=4;
if(a+=6&&a++){
console.log(a);
}
}按照之前的理解因为不满足判断条件应该是不执行if里面的东西返回undefined;可结果是输出8求解
繁星点点滴滴
浏览 310回答 2
2回答

POPMUISE

结果等效于vara=4;if(1){eval(a+=6&&a++);//先计算6&&a++的结果为a,也就是4,然后再计算a+=4console.log(a);}上面的6也可以是10000,只要为真就行,至于为什么,我想应该是表达式的执行顺序导致了这个结果。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript