菜鳥提問:求a,b的值
題一:
以下代碼執行后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嗎?
題一:
以下代碼執行后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嗎?
2016-09-16
舉報
2016-09-17
一、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.
其實直接在編碼工具里運行一次更加明白。
2016-09-17
明白了 ,多謝!
2016-09-16
考點是++a與a++的區別。
按理說在兩句執行完后,a的值應該都是1啊。