zan*_*ngw 4 javascript arrays instanceof
从那两个帖子:
有几种方法可以检查一个对象是否是数组
variable instanceof Array
Array.isArray(variable)
有人告诉我,第二种方法比第一种方法好。有没有人能说出它的原因?
在某些情况下obj instanceof Array可能是假的,如果obj是一个事件Array。
但是,在某些边缘情况下,您必须小心使用 instanceof,特别是如果您正在编写一个库,因此对其运行环境的控制/知识较少。问题是,如果您在多窗口环境(frames、iframes)中工作,您可能会从另一个窗口收到一个 Date d(例如),在这种情况下 d instanceof Date 将是假的——因为 d 的原型是另一个窗口中的 Date.prototype,而不是运行代码的窗口中的 Date.prototype。在大多数情况下,您并不关心,您只想知道它是否包含所有日期内容,以便您可以使用它。
资料来源:漂亮的片段
这个例子也适用于数组对象等等。
ECMAScript 标准建议的查找 an 类的标准方法Object是使用toStringfrom的方法Object.prototype并isArray(variable)在内部使用它。