如何在JS中访问超类的超级?

时间:2013-06-22 15:20:21

标签: javascript class object javascript-events

代码非常明确。我在做什么是错的。如何在A对象方法内声明的对象的onclick事件中访问A对象的a属性?

function A(){
    this.a = 0;
};

A.prototype.myfun= function(){
    var b = document.getElementsByClassName("myclassName");
    b[0].onclick = function(e){
    //How can I get the a property of the A object in here?
        this.a = 1;
    }
};

我可以以某种方式将此作为这样的论点传递吗?!

b[0].onclick = function(e, this){

1 个答案:

答案 0 :(得分:1)

由于函数中的this引用了函数本身,因此可以做两件事。传递引用,或者创建一个不会覆盖的变量,代表this

function A(){
    this.a = 0;
};

A.prototype.myfun= function(){
    var self = this;
    var b = document.getElementsByClassName("myclassName");
    b[0].onclick = function(e){
        self.a = 1;
    }
};