在javascript中,如何在另一个原型方法中调用一个原型方法?

前端之家收集整理的这篇文章主要介绍了在javascript中,如何在另一个原型方法中调用一个原型方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个功能
function test(){}

test.prototype.method01=function(){
    //do something
}

test.prototype.method02=function(){
    //how can I call the method01?
    //this.method01()...?
    //but the chrome through an error:
    //Uncaught TypeError: Object #<HTMLImageElement> has no method 'method01'
}

编辑:
其实method01就像这样:

test.prototype.method02=function(){
    $('.cpy').resizable({

    }).draggable({
        start:function(e,ui){
            this.method01();
        }
    });
}

解决方法

test.prototype.method02=function(){
    var testThing = this;
    $('.cpy').resizable({

    }).draggable({
        start:function(e,ui){
            testThing.method01();
        }
    });
}

您必须在另一个本地变量中保留此引用,以便在调用其他方法时回调函数可以使用它.这个引用被绑定在每个函数调用上,包括对回调函数调用,如你在“.draggable()”设置中使用的函数.当这被称为这将被设置为与“method02”功能不同的东西.

猜你在找的JavaScript相关文章