2

我正在阅读“可维护的 javascript”一书。在书中,作者谈到了框架,需要帮助来理解是什么意思。

在帧之间来回传递数组是 JavaScript中最初的跨帧问题之一。开发人员很快发现 instanceof Array 在这些情况下并不总是产生适当的结果。如前所述,每一帧都有自己的 Array 构造函数,因此一帧中的实例无法在另一中识别。Douglas Crockford 首先建议执行一些鸭子类型,测试 sort() 方法的存在:

// Duck typing arrays
function isArray(value) {
  return typeof value.sort === "function";
}
4

1 回答 1

5

这是指HTML<frame>元素,或现代<iframe>

关键是帧之间Array是单独创建的,您无法instanceof在一个帧(可能是主文档)中创建的数组和在<iframe>'s 代码中创建的数组之间进行比较。

于 2013-03-05T15:44:32.823 回答