我想知道如何在JavaScript中处理闭包中的成员变量。以下代码提醒“6”。Javascript:会员变量访问闭包
function testy()
{
function blah()
{
this.a = 5;
this.func = function()
{
this.a = 6;
alert(this.a);
}
}
var x = new blah;
x.func();
}
但是这个代码警报5.
function testy()
{
function execute(func)
{
func();
}
function blah()
{
this.a = 5;
this.func = function()
{
execute(function()
{
this.a = 6;
});
alert(this.a);
}
}
var x = new blah;
x.func();
}
我如何通过一个封闭仍然访问封闭对象的成员变量?
我不会说“立刻范围来的窗口。”但它将*解析为全局对象,相当于浏览器中的'window'。在javascript中有足够的混淆而不会推断它与范围有关。 :-) – RobG 2011-05-10 00:51:43
@RobG编辑删除单词'范围';) – Raynos 2011-05-10 00:54:17
优秀的答案,谢谢!但是,在“绑定”示例中是否存在拼写错误(“that”而不是“this”)? – bfops 2011-05-10 10:51:02