为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁星点点滴滴 2019-05-22 15:42:56
functiondd(){vara=4;if(a+=6&&a++){console.log(a);}}按照之前的理解因为不满足判断条件应该是不执行if里面的东西返回undefined;可结果是输出8求解
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

结果等效于
vara=4;
if(1){
eval(a+=6&&a++);//先计算6&&a++的结果为a,也就是4,然后再计算a+=4
console.log(a);
}
上面的6也可以是10000,只要为真就行,至于为什么,我想应该是表达式的执行顺序导致了这个结果。
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 309 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信