【发布时间】:2013-04-04 00:24:26
【问题描述】:
所以,我对 javascript 还比较陌生,但仍然无法理解变量范围。所以,我想做的是从函数外部(都在同一个对象内)访问一个变量。
见下文:
function GameCard(imageSource, div)
{
this.cardImage = new Image();
this.cardImage.src = imageSource;
this.imageString = "<img src='" + this.cardImage.src + "' />";
this.hiddenImage = new Image();
this.hiddenImage.src = HIDDEN_SOURCE;
this.clicked = false;
this.cardDiv = div;
$(this.cardDiv).click(function() {
alert(this.imageString);
$(this).flip({
direction:'lr',
});
});
}
警报(我不幸的调试)说 imageString 在单击处理函数中未定义。哪个有道理,我该如何访问它?
提前致谢, J
【问题讨论】:
-
这可能是您的
this....的范围问题。 -
cclerville 是正确的,当您在 .click() 函数中使用“this”时,它实际上指的是被点击的“cardDiv”对象,而不是封装的“GameCard”对象。
标签: javascript jquery scope