现代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 */
}
posted @ 2021-05-08 18:04  至诚如神  阅读(37)  评论(0)    收藏  举报