判断JS数据类型的四种方法

2018-06-19  本文已影响0人  苦苦修行

这篇文章 判断JS数据类型的四种方法 写的非常好。

个人总结:
最好的方法是使用 Object.prototype.toString.call(参数) 这种方式
为啥不能用像 new Date().toString()
好多对象都改写了toString方法,每个的实现又不一样,这样调用,还没到Object.prototype就截止了,返回的结果就依据每种实现的不同千奇百怪喽。
例子:

Object.prototype.toString.call('') ;   // [object String]
Object.prototype.toString.call(1) ;    // [object Number]
Object.prototype.toString.call(true) ; // [object Boolean]
Object.prototype.toString.call(undefined) ; // [object Undefined]
Object.prototype.toString.call(null) ; // [object Null]
Object.prototype.toString.call(new Function()) ; // [object Function]
Object.prototype.toString.call(new Date()) ; // [object Date]
Object.prototype.toString.call([]) ; // [object Array]
Object.prototype.toString.call(new RegExp()) ; // [object RegExp]
Object.prototype.toString.call(new Error()) ; // [object Error]
Object.prototype.toString.call(document) ; // [object HTMLDocument]
Object.prototype.toString.call(window) ; //[object global] window是全局对象global的引用

怎么判断,比如:

Object.prototype.toString.call(null) === '[object Null]'; //true
上一篇 下一篇

猜你喜欢

热点阅读