慕先生4277178
2016-09-16 22:42
题一:
以下代码执行后a,b的值分别是
var a = 0;
var b = true||a++;
A.1,true
B.0,true
C.1,1
D.1,0
正确答案: B
题二:
以下代码执行后a,b的值分别是
var a = 0;
var b = 0||++a;
A.1,0
B.1,1
C.0,0
D.0,1
正确答案:B
我就搞不懂题一中a=0,题二中为毛a就等于1了??有变化的不是只有b吗?
一、var b = true||a++; 由于这是个逻辑或语句,当前面是true的时候,就直接输出了b=true,后面的语句不会执行,
也就是说a++这个语句没有执行,所以a=0;b=true
二、var b = 0||++a; 由于前面是0(如果不是0,就会直接输出,后面的语句不会执行),就会继续执行后面的语句;++a就相当于a=a+1之后,继续进行运算,所以b=1,a=1.
其实直接在编码工具里运行一次更加明白。
明白了 ,多谢!
考点是++a与a++的区别。
按理说在两句执行完后,a的值应该都是1啊。
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题