我刚刚发现大多数浏览器中都存在一个名为 external
的变量,除了IE。我对此有2个问题
object doesn't support this property or method
。如何解决这个问题,考虑到它只是一个变量由于
答案 0 :(得分:2)
“但我如何修复”对象不支持此属性或方法“一般”
给定一个对象obj
,您可以测试属性/方法prop
是否存在:
if ("prop" in obj) {
// do something with obj.prop
}
...注意到in
operator也会检查继承的属性。要仅检查直接属性,请使用:
if (obj.hasOwnProperty("prop")) {
// do something with obj.prop
}
“有没有办法检查变量
external
是否存在”
对于您提到的external
属性,如果它存在,它将是window
的属性,因此:
if ("external" in window) {
// do something
}
这种x in window
技术适用于全局变量,包括浏览器和用户定义的变量。它不适用于局部变量。