1数据类型判断
基础类型包括:Number、String、Boolean、Null、Undefined、Symbol(该类型位 ES2015 中新增类型)
引用类型包括:Object
typeof :返回“number”、“string”、“boolean”、“object”、"symbol"、“function”和“undefined”字符串.
Null返回的是object而undefined返回的是undefined.会返回object的有object,null和数组和new 操作符.

typeof返回的类型
由于typeof并不能有效的区分object对象,所以object基本只能用来判断undefined和function.
要有效判断null 数组 和对象可以使用Object.prototype.toString.call(obj).slice(8,-1);这是终极大杀招.
2,碰到null,NaN,undefined,0,' ',false都为false.
typeof NaN居然是一个number类型.typeof null为一个对象.
3,强制类型转换和隐含类型转换:
1. 强制类型转换: 明确调用内置函数,强制把一种类型的值转换为另一种类型。强制类型转换主要有:Boolean、Number、String、parseInt、parseFloat
2. 隐式类型转换: 在使用算术运算符时,运算符两边的数据类型可以是任意的,比如,一个字符串可以和数字相加。之所以不同的数据类型之间可以做运算,是因为 JavaScript 引擎在运算之前会悄悄的把他们进行了隐式类型转换。隐式类型转换主要有:+、–、==、!
Number('123')===123;Number('123sd')==NaN;parseInt(''123")==123;parseInt("123sd")==123;parseInt('sd123sd')==NaN;其他类似.
会返回object的除了object还有null,所以一般这么判断:if(typeof obj==object)$$(obj!=null)
类型转换:隐式转换
网友评论