iT邦幫忙

1

[鼠年全馬鐵人挑戰] Week27 - JavaScript 練習題- 比較運算子

這周來練習比較運算子,也是我不太熟練的一個章節
要好好努力練習了~

題目

請觀看以下文章後,解答以下題目:

[JS] 判斷筆記

比較運算子

重新認識 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。


1 則留言

1
kekeke
iT邦新手 5 級 ‧ 2020-08-24 11:45:06

第二題答案應該是~
false
true
true
小筆記的1好像哪裡怪怪~的/images/emoticon/emoticon01.gif

a841722 iT邦新手 5 級 ‧ 2020-08-30 21:17:33 檢舉

好喔 感謝提醒 我在來研究一下XD

我要留言

立即登入留言