偶然间发现了一个判断各种数据类型的方法
Object.prototype.toString.call(value);
Object.prototype.toString.call(null);//"[object Null]"
Object.prototype.toString.call(undefined);//"[object Undefined]"
Object.prototype.toString.call("abc");//"[object String]"
Object.prototype.toString.call(123);//"[object Number]"
Object.prototype.toString.call(true);//"[object Boolean]"
function fn(){
console.log("test");
};
Object.prototype.toString.call(fn);//"[object Function]"
var date = new Date();
Object.prototype.toString.call(date);//"[object Date]"
var arr = [1,2,3];
Object.prototype.toString.call(arr);//"[object Array]"
var reg = /^[0-9]$/gi;
Object.prototype.toString.call(reg);//"[object RegExp]"
为什么是这样呢 他的原理是什么呢 于是我继续查阅资料 看到了这样一篇文章
http://www.cnblogs.com/ziyunfei/archive/2012/11/05/2754156.html
他已经从ES3介绍到ES6了,很完善了 我就不再写了 想了解原理的小伙伴可以去看看0.0