我想知道如何在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