天天看点

检测原始值、引用值和属性

一、原始值

javascript中包含5种原始类型:字符串、数字、布尔值、null和undefined。

判断一个值得最佳选择是typeof运算符,返回一个表示值得类型的字符串。

字符串            string

数字               number

布尔值            boolean

undefined       undefined

例如:

二、引用值

javascript中包含几种内置的引用类型:Object、Array、Date和Error。

判断是否为引用类型最佳选择instanceof运算符。

默认情况下,每个对象都会继承Object,因此每个对象的value instanceof Object都会返回true。

例如:

三、检测函数

使用typeof运算符。

备注:IE8及其一下版本,将typeof document.getElementById认为是Object,而不是function。

四、检测数组

备注:引用值和判断数组方法最大的区别在于frame中,instanceof Array在frame中不能返回真确的结果,原因是每个frame都有各自的Array构造函数,因此一个frame中的实例在另外一个frame中不会识别。

五、检测属性

判断属性是否存在最好的方法是使用in运算符。

如果只想检查实例对象的某个属性是否存在,则使用hasOwnProperty()方法。

备注:判断DOM元素是否具有某种属性,慎用hasOwnProperty()方法。

IE8及其以下版本认为DOM元素并非继承自Object。

继续阅读