利用Object的原型方法toString()判断数据类型,更为准确
具体如下:
Object.prototype.toString.call(true); // => "[object Boolean]"
Object.prototype.toString.call(1); // => "[object Number]"
Object.prototype.toString.call(""); // => "[object String]"
Object.prototype.toString.call([]); // => "[object Array]"
Object.prototype.toString.call((function() {
return arguments;
})()); // => "[object Arguments]"
Object.prototype.toString.call(function(){}); // => "[object Function]"
Object.prototype.toString.call(new Error()); // => "[object Error]"
Object.prototype.toString.call(/\d+/); // => "[object RegExp]"
Object.prototype.toString.call(new Date()); // => "[object Date]"
Object.prototype.toString.call({}); // => "[object Object]"