现代javascript阅读笔记
js基础知识
值得比较
不同类型之间的比较
当对不同类型的值进行比较时,JavaScript 会首先将其转化为数字(number)再判定大小
alert( '2' > 1 ); // true,字符串 '2' 会被转化为数字 2
alert( '01' == 1 ); // true,字符串 '01' 会被转化为数字 1
对于布尔类型值,true 会被转化为 1、false 转化为 0
严格相等
普通的相等性检查 == 存在一个问题,它不能区分出 0 和 false:
alert( 0 == false ); // true
也同样无法区分空字符串和 false:
alert( '' == false ); // true
严格相等运算符 === 在进行比较时不会做任何的类型转换。
换句话说,如果 a 和 b 属于不同的数据类型,那么 a === b 不会做任何的类型转换而立刻返回 false。
对 null 和 undefined 进行比较
当使用严格相等 === 比较二者时
它们不相等,因为它们属于不同的类型
当使用非严格相等 == 比较二者时
JavaScript 存在一个特殊的规则,会判定它们相等。它们俩就像“一对恋人”,仅仅等于对方而不等于其他任何的值(只在非严格相等下成立)
null vs 0
alert( null > 0 ); // (1) false
alert( null == 0 ); // (2) false
alert( null >= 0 ); // (3) true
函数
函数声明方式如下所示:
function name(parameters, delimited, by, comma) {
/* code */
}

浙公网安备 33010602011771号