js高级程序设计(二) —— js基础之数据类型判断及其转换
学习《JavaScript高级程序设计》的知识总结,以及对部分内容的扩展~
数据类型判断及其转换:
1、typeof 能判断六种数据类型
Boolean、String 、Number、Undefined、Object(null)、Function
--->>> typeof null // ‘object’ (null被认为是一个空对象的引用)
2、instanceof 用来判断引用类型(Object、Array)
① 如果用instanceof操作符检测基本类型的值,始终会返回false
② instanceof假定只有一个全局执行环境,多个执行环境(如多个框架传递数据),可能存在不同版本的Array构造函数,会使instanceof判断错误。ES5引入了Array.isArray()方法解决这个问题。
3、null==undefined // true
null===undefined // false (undefined是派生自null值的)
4、Boolean类型转换
5、NaN——not a number
和任何数字包括自身都不相等:NaN === NaN // false
isNaN()函数:任何 不能被转换为数值的值都会导致这个函数返回 true
如包含任意非法字符:NaN:Number(‘abc’) || Number(undefined) || Number({})
6、Number(对象):
可识别十六进制:Number(0x12) // 18
Number(‘0x12’) // 18
可识别八进制:Number(070) // 56
Number(’070‘) // 70
7、String(对象):