本文类容参考MDNObject.prototype.toString()
我们想要获取一个对象的类型,一般使用typeof, 使用Object.prototype.toString()方法也可以解决这个问题
var toString = Object.prototype.toString;
toString.call(new Date); // [object Date]
toString.call(new String); // [object String]
toString.call(Math); // [object Math]
//Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]
还可以这样:
console.log(Object.prototype.toString.call(new Date()); //[object Date]
或者申明一个方法专门处理类型检测:
var getType = Function.prototype.call.bind(Object.prototype.toString);
console.log(getType(new Array()));//[object Array]
console.log(getType({}));//[object Object]