JavaScript: 判断一个变量的类型

引用地址:http://changfeng-liu.blog.163.com/blog/static/210465184201271691752563/

1. 使用typeof (变量)

typeof的功能很弱,只能判断基础数据类型。对于使用内置构造函数创建的对象,均返回object,效果很让人失望。

需要注意的是:typeof(null) == ‘object’; typeof(a) == ‘undefined’。

如图所示(截图使用的是Google Developer Tools):



2. 使用Object.prototype.toString.call(变量), 即借用Object构造的toString逻辑.

主要用于判断JavaScript内置构造函数的对象类型.

jQuery即使用这种方式判断对象类型,但是它的缺点是无法判断自定义构造函数的对象类型。



3. 使用instanceof, 判断某个变量是否某个构造函数的实例.

instanceof的优点是:支持自定义构造函数的判断。这个功能在以OO的方式写JavaScript时,很有用!


你可能感兴趣的:(js)