在JavaScript中,instanceof Array比isArray好吗?
从这两个员额:在JavaScript中,instanceof Array比isArray好吗?,javascript,arrays,instanceof,Javascript,Arrays,Instanceof,从这两个员额: 有几种方法可以检查一个对象是否是数组 数组的变量实例 Array.isArray(变量) 有人告诉我第二种方法比第一种好。有人能说出它的原因吗?在某些情况下,obj instanceof Array可能为false,如果obj是一个Array 但是,在某些边缘情况下,您必须小心使用instanceof, 尤其是当你在写一个库的时候,你的控制力就更少了/ 了解它将在其中运行的环境。问题是 如果您在多窗口环境中工作(框架, iframes),您可能会收到另一个用户的日期d(例
数组的变量实例
Array.isArray(变量)
有人告诉我第二种方法比第一种好。有人能说出它的原因吗?在某些情况下,
obj instanceof Array
可能为false,如果obj
是一个Array
但是,在某些边缘情况下,您必须小心使用instanceof,
尤其是当你在写一个库的时候,你的控制力就更少了/
了解它将在其中运行的环境。问题是
如果您在多窗口环境中工作(框架,
iframes),您可能会收到另一个用户的日期d(例如)
窗口,在这种情况下,d instanceof Date将为false-因为d
prototype是另一个窗口中的Date.prototype,而不是
运行代码的窗口中的Date.prototype。在大多数情况下
如果你不在乎,你只想知道它是否拥有所有
在上面写上日期,这样你就可以使用它了
资料来源:
本例也适用于数组对象等
ECMAScript标准建议的查找
对象类的标准方法是使用对象中的toString
方法。prototype
和isArray(变量)
在内部使用它 第二个在较旧的浏览器中不可用,但在可用的情况下,从iframe中点击instanceOf misses的数组。