关于将“this”引用传递给javascript中的方法的提示

时间:2013-11-11 20:51:45

标签: javascript function object reference this

因此,对于下面的代码,我试图将外部函数的“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;
}

1 个答案:

答案 0 :(得分:3)

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

some_func() {
    var that = this;
    myDrawFunction = {
        execute: function() {
            draw_bldText(that, this_popup.context, this_popup.focus);
        }
    };
}