这有什么问题 - 如何在foo
对象的onModified()
内定义变量Document
?
function Document() {
var foo = "dfsadf";
this.onModified = function() {
alert(foo);
};
}
// Does not alert; "foo" doesn't resolve
new Document().onModified();
我想在Document
上使用公共方法来引用Document
以某种方式私有的变量。
答案 0 :(得分:7)
您的Document
函数与DOM中的Document
构造函数发生冲突。
document instanceof Document; // true
与任何host-object一样,它的行为完全取决于主机环境,它们通常会给您带来意想不到的结果。
到目前为止,我已经测试过,在Firefox上你无法替换它的值,因此我建议你去重命名你的功能,或者< em>在其他范围内声明。