昨天遇到要检测数据类型的情况,一般可以用typeof,但只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。
对于数组、函数、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串。
不过还有种方法貌似逼格有点高,那就是Object.prototype.toString()。
具体如下
Object.prototype.toString.call(new Date); // [object Date]Object.prototype.toString.call(new String); // [object String]Object.prototype.toString.call(Math); // [object Math] Object.prototype.toString.call(undefined); // [object Undefined]Object.prototype.toString.call(null); // [object Null]用Object.prototype.toString()来检测对象的类型
原文:http://www.cnblogs.com/cumting/p/6839298.html