相关疑难解决方法(0)

当myarray在一个框架中时,为什么myarray instanceof Array和myarray.constructor === Array都为false?

因此,以下代码警告错误两次:

window.onload = function(){
                    alert(window.myframe.myarray instanceof Array);
                    alert(window.myframe.myarray.constructor === Array);
                }
Run Code Online (Sandbox Code Playgroud)

名为"myframe"的页面中有一个iframe,其中包含一个名为"myarray"的数组.如果将数组移动到主页面(而不是iframe),则代码会按预期警告两次.有人知道为什么吗?

javascript

7
推荐指数
2
解决办法
5795
查看次数

框架在javascript中意味着什么?

我正在读"可维护的javascript"这本书.在书中,作者谈到了框架,需要帮助才能理解这意味着什么.

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

// Duck typing arrays
function isArray(value) {
  return typeof value.sort === "function";
}
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
123
查看次数

标签 统计

javascript ×2