js高级程序设计(二) —— js基础之数据类型判断及其转换

学习《JavaScript高级程序设计》的知识总结,以及对部分内容的扩展~

数据类型判断及其转换:

1typeof 能判断六种数据类型

Boolean、String 、Number、Undefined、Object(null)、Function

--->>>  typeof null  // ‘object’ (null被认为是一个空对象的引用)

 

2、instanceof 用来判断引用类型(Object、Array)

① 如果用instanceof操作符检测基本类型的值,始终会返回false

② instanceof假定只有一个全局执行环境,多个执行环境(如多个框架传递数据),可能存在不同版本的Array构造函数,会使instanceof判断错误。ES5引入了Array.isArray()方法解决这个问题。

 

3null==undefined // true

null===undefined // false   (undefined是派生自null值的)

 

4、Boolean类型转换

js高级程序设计(二) —— js基础之数据类型判断及其转换js高级程序设计(二) —— js基础之数据类型判断及其转换

 

5NaN——not a number

和任何数字包括自身都不相等:NaN === NaN // false

isNaN()函数:任何 不能被转换为数值的值都会导致这个函数返回 true

如包含任意非法字符:NaN:Number(‘abc’) || Number(undefined) || Number({})

 

6Number(对象):

可识别十六进制:Number(0x12)  // 18

Number(‘0x12’)   // 18

可识别八进制:Number(070)  // 56

Number(’070‘)  // 70

js高级程序设计(二) —— js基础之数据类型判断及其转换

 

7String(对象)

 

js高级程序设计(二) —— js基础之数据类型判断及其转换