2

「メンテナンス可能なJavaScript」という本を読んでいます。本の中で、著者はフレームについて話し、それが何を意味するのかを理解するのに助けが必要です。

フレーム間で配列をやり取りすることは 、JavaScriptの元々のクロスフレームの問題の1つでした。開発者は、これらの場合、instanceofArrayが常に適切な結果を生成するとは限らないことをすぐに発見しました。前述のように、各フレームには独自の配列コンストラクターがあるため、あるフレームのインスタンスは別のフレームでは認識されません。Douglas Crockfordは、最初にダックタイピングを実行し、sort()メソッドの存在をテストすることを推奨しました。

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

1 に答える 1

5

これは、HTML<frame>要素、またはモダンを参照しています<iframe>

重要なのは、フレーム間で、別々に作成され、1つのフレームで作成された配列(おそらくメインドキュメント)とのコードで作成された配列を比較Arrayできないということです。instanceof<iframe>

于 2013-03-05T15:44:32.823 に答える