因此,对于下面的代码,我试图将外部函数的“this”关键字传递给draw_bldText(...)函数。但是我怎么能这样做呢?当我在执行内部调用它时,“this”指的是函数范围内。我想要this.piece中的“this”关键字。
我希望我的问题有道理,我是javascript的新手
this.myDrawFunction;
this.piece = this;
switch(image) {
case "blank":
break;
case "bldText":
myDrawFunction = {
execute : function() {
draw_bldText(this, this_popup.context, this_popup.focus);
}
};
. . .
. . .
default:
break;
}
答案 0 :(得分:3)
您需要将局部变量绑定到this
,然后使用它以便将其保存在闭包中:
some_func() {
var that = this;
myDrawFunction = {
execute: function() {
draw_bldText(that, this_popup.context, this_popup.focus);
}
};
}