4
  1. と の間に違いはtypeof value === "undefined"ありvalue === undefinedますか?

  2. Array.isArray()ECMAScript 5 でJavaScript が必要になったのはなぜですか? value instanceof Array特定の変数が配列であるかどうかを判断するために呼び出すことはできませんか?

4

1 に答える 1

7
//var value; There is no var declaration. The variable was never declared

// check againts undeclared variables
typeof value === "undefined"; // works

// check againts declared variables with no value
value === undefined; // ReferenceError: value is not defined

有効性にも問題がありundefined = trueます。しかし、あなたはそれを本当に気にしません。undefined最近では、グローバルに変更を加えるほど愚かな人は誰もいません。

instanceof壊れているバグも知っています。より良い理由を正確に説明することはできませんArray.isArray

JavaScript Gardeninstanceofで批判を見つけることができます

この記事を読むと、instanceof個別のフレーム/ウィンドウ/ iframe 間でどのように機能しないかが記載されています。

instanceof は再度チェックしArray、各ウィンドウには独自のwindow.Array.

于 2011-05-15T02:41:13.330 に答える