您的位置:首页 > Web前端 > JavaScript

js中不同类型作比较的规律(布尔运算)

2016-03-21 14:39 337 查看
不同类型间的比较,规律如下
类型
类型
规律
其它说明
对象
对象
比较是不是同一个内存地址
 
对象
字符串
对象先转化为字符串,然后做比较
 
对象
布尔类型
两边都要先转为数字(false是0,true是1)。是对象类型先隐式调用toString方法,然后再Number()
 alert([]==false);
alert([]==0)
alert([1]==1);
alert([1]==true)
alert([2]==true)
对象
数字
对象要转为数字,再进行比较(对象先隐式调用toString方法转化为字符串,然后再把这个字符串轮化为数字,相当于把这个字符串放到Number这个方法中)
 
数字
布尔
是进行的数字的比较
 
数字
字符串
把字符串转化为数,再比较
 
布尔
 
把两边都要转化为数字再进行比较
 
null
undefined
true
 
null,undefined
和其它类型
null和undefined和其它类型比较都是false(这两个对象没toString方法)
 alert(null==false)
alert(null==0)
alert(null=="");;
自身做布尔运算的时候的转换
类型
规律
示例
object
都是true 
 alert(!![])
number
只是0和NaN是false
 alert(!!0);
string
只有空字符串是false(不是空格字符串)
 alert(!!"");
function
都是ture
 
null,undefined
都是false
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  类型