這周來練習比較運算子,也是我不太熟練的一個章節
要好好努力練習了~
請觀看以下文章後,解答以下題目:
重新認識 JavaScript: Day 07 「比較」與自動轉型的規則
請依序告知以下 console.log 會顯示什麼值,若不知道答案,可將 code 貼在 chrome console 來顯示後,再回頭補知識點。
var a = 2;
var b = 1;
console.log(a > 0);
console.log((a + b) > 1);
var c = 4;
var d = 3;
console.log(c == d);
var e = 8;
var f = 5;
console.log(f >= e);
console.log(f != e);
console.log(f == e);
由上而下的console.log依序如下:
1.true
2.true
3.false
4.false
5.true
6.false
1.a = 2,2 > 0,所以條件式成立為 true
2.a = 2,b = 1,(2 + 1) > 1,所以條件式成立為 true
3.c = 4,d = 3,4 不等於 3,所以條件式不成立為 false
4.e = 8,f = 5,5 是小於 8,所以條件式不成立為 false
5.f = 5,e = 8,這個問題是問 f 是不是不等於 e,答案是不等於的,所以條件式成立為 true
6.f = 5,e = 8,5 不等於 8,所以條件式不成立為 false
var a = 3;
var b = "3";
console.log(a == 1);
console.log(a == b);
var c = 2;
var d = "5";
// 請解釋為什麼
console.log((c * d) >= 5);
由上而下的console.log依序如下:
1.false
2.true
3.true
第二個 a 為數字 1,b 為字串 1,在雙等號的判斷裡,型別不會去判斷,所以條件式成立為 true。
第三個 js 會先把字串 3 自動轉型為數字,所以 (2 * 3) = 6,6 >= 5,所以條件式成立為 true。
ar a = 1;
var b = "1";
console.log(a == 1);
console.log(a == b);
console.log(a === b);
console.log(a !== b);
由上而下的console.log依序如下:
1.true
2.true
3.false
4.true
第四個如同第一題問的是 a 是不是不等於 b,是不等於沒錯,所以條件式成立為 true。
第二題答案應該是~
false
true
true
小筆記的1好像哪裡怪怪~的
好喔 感謝提醒 我在來研究一下XD