0

因此,对于下面的代码,我试图将外部函数的“this”关键字传递给 draw_bldText(...) 函数。但是我该怎么做呢?当我在执行中调用 this 时,“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;
}
4

1 回答 1

3

您需要将局部变量绑定到this,并使用它,以便将其保存在闭包中:

some_func() {
    var that = this;
    myDrawFunction = {
        execute: function() {
            draw_bldText(that, this_popup.context, this_popup.focus);
        }
    };
}
于 2013-11-11T20:54:17.877 回答