概述
不同类型间的比较,规律如下
类型 | 类型 | 规律 | 其它说明 |
对象 | 对象 | 比较是不是同一个内存地址 |
|
对象 | 字符串 | 对象先转化为字符串,然后做比较 |
|
对象 | 布尔类型 | 两边都要先转为数字(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 |
|
最后
以上就是奋斗嚓茶为你收集整理的js中不同类型作比较的规律(布尔运算)的全部内容,希望文章能够帮你解决js中不同类型作比较的规律(布尔运算)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复