下面的代码片段,id为domId的元素点击后,handle这个函数内的this实际是指向domId这个元素的,有什么方法能访问到test内定义的 a 呢?var test = function(){
a:"AAA",
handle:function (){
alert(this.a);
}
}var obj = new test();
$("#domId").click(obj.handle);
a:"AAA",
handle:function (){
alert(this.a);
}
}var obj = new test();
$("#domId").click(obj.handle);
handle:function (){
alert(obj.a);
}
可以访问到,如果想把test写成个组件,这样访问就不通用了
正解。obj是全局变量 可以访问到的!!
正解。 obj是全局变量 可以调用到的!!
var test = function(){
var self = this;
this.a = "AAA";
this.handler = function(){
alert(self.a);//可访问
alert(self.b);//可访问
};
this.init();
};
test.prototype = {
b:"BBB",
init:function(id){
$("#" + id).click(this.handler);
}
}
var obj = new test();
obj.init("domId");