typeof [1, 2, 4] === 'object';
typeof new Date() === 'object';  
typeof null === 'object'; 

由于typeof数组、null和用new操作符生成的对象,都是返回object

而instanceof,因为在js中,所有对象都是object,故也无法判断数据类型

但Object.prototype.toString对任何变量会永远返回这样一个字符串"[object class]",而这个class就是JavaScript内嵌对象的构造函数的名字。至于用户自定义的变量,则class等于object。

因此通过Object.prototype.toString.apply(obj)可以准确的获取变量数据类型。通过Object.prototype.toString可以获得的数据类型包括:Date, Object, String, Number, Boolean, Regexp, Function, undefined, null, Math等。

参考文献地址:http://blog.csdn.net/woxueliuyun/article/details/8488789

posted on 2015-08-25 10:41  鬼畜十三  阅读(4283)  评论(0编辑  收藏  举报