七个最有用的JavaScript技巧( 五 )

七个最有用的JavaScript技巧
文章插图
 
还好——至少我们可以将字符串和对象,数组,正则表达式区分开,对吗?幸运的是,我们可以得到更准确的类型信息,我们有其他不同的方法 。我们将使用Object.prototype.toString方法,并且应用我们前面提到的call方法:

七个最有用的JavaScript技巧

文章插图
 
为什么我们要使用Object.prototype上的toString方法?因为第三方库或你自己的代码可能重写实例的toString方法 。通过Object.prototype,我们可以强制实现实例原来的toString行为 。
如果你知道typeof将会返回什么那么你不需要进行多余的检查(例如,你仅需要知道是或不是一个字符串),此时用typeof非常好 。然而,如果你需要区分数组和对象,正则表达式和对象,等等,那么使用Object.prototype.toString吧 。




推荐阅读