六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 34|回复: 0

javaScript 全等(===)和 等于(==)的差别

[复制链接]

升级  26%

3

主题

3

主题

3

主题

童生

Rank: 1

积分
13
 楼主| 发表于 2013-1-29 08:38:16 | 显示全部楼层 |阅读模式
javaScript比较有两组相等比较符号 : == & !=   === & !===
下面的 == 比较时的一些特别的地方:
console.log('' == false);  // true
console.log('' == 0);  // true
console.log('\t\n' == 0);  //  true
console.log(null == undefined);  // true
console.log(0 == false);  // true
console.log(0 == '0')           // true
console.log('0' == false);  // true
而换成===比较后,就都为false
其实在 == 比较的时候是对转换类型了,而 === 只比较值了,
规则如下:
如果比较的两者中有bool,会把 bool 先转换为对应的 number,即 0 和 1

如果比较的双方中有一方为number一方为string,会把string转换为数字

把string直接转换为bool的时候,空字符串''转换为 false,除此外的一切字符串转换为 true
详细请查看附件 ECMA-262 文件的 11.9.3  和11.9.6





您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表