代码非常明确。我在做什么是错的。如何在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){
答案 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;
}
};