if(xx)和a==b的判断
在JS中,if语句是最常见的编程语句,语法为
if(condition){
//true statement
}else {
//false statement
}
其中condition可以是任意表达式,结果不一定是布尔值,JavaScript解释器会自动调用Boolean()将表达式结果转为布尔值,如果表达式为真执行第一个代码块内语句,如果为假执行第二个代码块内语句。
最为关键的一点,就在于JS解释器是如何将括号里的内容转换为布尔值的。通过下图就一目了然了。
a==b或a===b
对于运算符“==”和“===”来说,都是用于判断符号两边是否相等,区别在于“===”是要求符号两边严格相等的。
例如 666==“666”是true,因为“666”通过==可以看做转换为了666数值。
然而对于666===“666”来说,结果则为false,因为符号两边,一个是数值,一个是字符串,类型不同,所以为false。