上一篇 介绍了数据类型 以及检测数据类型 下面说下在数据类型注意点
- typeof
- typeof是一个运算符 不是一个方法
- typeof(null) //object 这是因为null是对象的空引用
undefined 和 null 的区别和注意点
console.log(undefined == null) //true复制代码
为啥是true? 因为 == 两个等号比较的是值
区别这两个使用 typeof 将其区分开console.log(typeof(null)) //Object console.log(typeof(undefined)) //undefined复制代码
使用=== 比较的是值 和 数据类型 两种
console.log(undefined == null) //false复制代码
Boolean 注意点
console.log(true == 1) //true console.log(false == 0) //true复制代码
内部会实现 数据类型的 转化,将 true 转换成 1,将 false 转换成 0
但是使用 === 就不相等了 比较值和数据类型
注意点有一个 显示转化Boolean()- String类型 只要不是空字符串 都是true
- Number类型 只要不是0即使负数也是true
- Object类型 只要不是null 都会转换成 true
- Undefined类型 都会转换成 false
Number 注意点
NaNconsole.log(0/0) //NaN复制代码
- NaN 和 任何 对象做运算都会返回 NaN
isNaN() 判断是不是 NaN
alert(isNaN(NaN));//true alert(isNaN(12));//false alert(isNaN('123'));//false: 因为 字符串类型 的数字 可以自动转换成 数字 alert(isNaN('lew'));//true alert(isNaN(false));//(*)false: 因为 bool 值 可以转换成数字,true 变 1,,false 变 0复制代码