external
IE 以外のほとんどのブラウザには、existsという変数があることがわかりました。これに関して2つの質問があります
- 外部とは - http://jsfiddle.net/EVBjU/
- IE は
object doesn't support this property or method
、console.log(external) を実行すると表示されます。単なる変数であることを考慮して、これを修正する方法
ありがとう
external
IE 以外のほとんどのブラウザには、existsという変数があることがわかりました。これに関して2つの質問があります
object doesn't support this property or method
、console.log(external) を実行すると表示されます。単なる変数であることを考慮して、これを修正する方法ありがとう
「しかし、一般的に「オブジェクトはこのプロパティまたはメソッドをサポートしていません」を修正するにはどうすればよいですか」
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
手法は、ブラウザーによって提供されるものやユーザー定義のものを含むグローバル変数に対して機能します。ローカル変数では機能しません。