js不同类型作比较
2024-09-03 20:43:46
引用自
http://www.zhufengpeixun.cn/jishuziliao/javaScriptzhuanti/2014-06-14/300.html
不同类型间的比较,规律如下
类型 |
类型 |
规律 |
其它说明 |
对象 |
对象 |
比较是不是同一个内存地址 |
|
对象 |
字符串 |
对象先转化为字符串,然后做比较 |
|
对象 |
布尔类型 |
两边都要先转为数字(false是0,true是1)。是对象类型先隐式调用toString方法,然后再Number() |
alert([2]==true)未false,转为2==1 false |
对象 |
数字 |
对象要转为数字,再进行比较(对象先隐式调用toString方法转化为字符串,然后再把这个字符串轮化为数字,相当于把这个字符串放到Number这个方法中) |
|
数字 |
布尔 |
是进行的数字的比较 |
|
数字 |
字符串 |
把字符串转化为数,再比较 |
|
布尔 |
把两边都要转化为数字再进行比较 |
||
null |
undefined |
true |
|
null,undefined |
和其它类型 |
null和undefined和其它类型比较都是false(这两个对象没toString方法),和自身比较是true。 |
(undefined==undefined); true |
NaN |
和其它类型 |
和说有比较都为false,和自身比较也为fasle,判断是否为NaN使用isNaN() |
(NaN==NaN) false |
自身做布尔运算的时候的转换
类型 |
规律 |
示例 |
object |
都是true |
alert(!![]) |
number |
只是0和NaN是false |
alert(!!0); |
string |
只有空字符串是false(不是空格字符串) |
alert(!!""); |
function |
都是ture |
|
null,undefined |
都是false |
最新文章
- [spring源码学习]单元测试演化
- eclipse为方法添加注释的快捷键是什么
- 开启 mysql 远程访问
- htop
- MySQL 字符串截取相关函数
- oracle server配置:监听程序未启动或数据库服务未注册到该监听程序
- java InputStream
- jdbc(1)(一)
- nginx网站架构优化思路(原)
- ZOJ3640-Help Me Escape
- IE浏览器URL中文传参,后端接收是乱码问题处理
- linux下数据同步、回写机制分析
- 《剑指offer》和为S的两个数字
- python 验证码识别示例(二) 复杂验证码识别
- 分享一些 Java 无关基础方面的书籍
- 4.C#虚方法virtual详解
- JAVA之字母与相对应数字转换
- hdu 5038 (2014北京网络赛G 排序水题)
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十六)Structured Streaming中ForeachSink的用法
- newton法分形图