这周来练习比较运算子,也是我不太熟练的一个章节
要好好努力练习了~
题目
请观看以下文章后,解答以下题目:
[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。