0

externalIE 以外のほとんどのブラウザには、existsという変数があることがわかりました。これに関して2つの質問があります

  1. 外部とは - http://jsfiddle.net/EVBjU/
  2. IE はobject doesn't support this property or method、console.log(external) を実行すると表示されます。単なる変数であることを考慮して、これを修正する方法

ありがとう

4

1 に答える 1

2

「しかし、一般的に「オブジェクトはこのプロパティまたはメソッドをサポートしていません」を修正するにはどうすればよいですか」

objectobjを指定すると、プロパティ/メソッドpropが存在するかどうかを次のようにテストできます。

if ("prop" in obj) {
    // do something with obj.prop
}

in...オペレーターは継承されたプロパティもチェックすることに注意してください。直接プロパティのみを確認するには、次を使用します。

if (obj.hasOwnProperty("prop")) {
    // do something with obj.prop
}

「変数externalが存在するかどうかを確認する方法はありますか」

externalあなたが言及したプロパティの場合、それが存在する場合のプロパティになるので、次のようになりますwindow

if ("external" in window) {
   // do something
}

このx in window手法は、ブラウザーによって提供されるものやユーザー定義のものを含むグローバル変数に対して機能します。ローカル変数では機能しません。

于 2013-07-22T10:35:46.050 に答える