4

诸如骨干之类的库中使用的一种简单方法是:

typeof o === type;

ES5 建议使用类似于

(Object.prototype.toString.call(o) === '[object ' + type + ']');

最后 SO 用户分享了:(getType 上的代码审查

o.constructor === type;

以下是三种根本不同的方式

  • 使用类型
  • 使用 toString
  • 使用构造函数属性

我想用这3个方法来写一个通用的checkType方法。

任何关于如何最好地在逻辑上组合这些或为什么会有不同的方法来解决它的建议。

4

2 回答 2

2

这里有一些帮助:http: //javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/

于 2013-03-15T13:55:49.493 回答
0

这是3的一个很好的比较。

http://jsperf.com/constructor-vs-typeof-vs-tostring

于 2013-03-16T21:37:57.943 回答