0

我刚刚发现external除了 IE 之外的大多数浏览器中都有一个名为 exists 的变量。我对此有 2 个问题

  1. 什么是外部的 - http://jsfiddle.net/EVBjU/
  2. object doesn't support this property or method当我执行console.log(外部)时,IE 会给出。如何解决这个问题,考虑到它只是一个变量

谢谢

4

1 回答 1

2

“但我如何修复“对象不支持此属性或方法”一般”

给定一个对象obj,您可以测试属性/方法是否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 回答