JS里在闭包中对this引用的困惑

想在js里实现类的封装,遇到一个问题。具体的请看代码。问题见注释varTestClass;
if(TestClass==undefined){
TestClass=function(){
}
}
TestClass.prototype.init=function(options){
	$(".alert_click").click(function(){
		this.popup("test");
//这样的代码会提示popup未定义。如果想在此处调用popup应该怎么做?
	});
};
TestClass.prototype.popup=function(value){
	alert(value);
}
			
$(function(){
	vartestClass=newTestClass();
	testClass.init();
}
摇曳的蔷薇
浏览 457回答 2
2回答

守着星空守着你

varTestClass;if(TestClass==undefined){TestClass=function(){}} TestClass.prototype.init=function(options){ varself=this;$(".alert_click").click(function(){self.popup("test");//访问闭包里的this//这样的代码会提示popup未定义。如果想在此处调用popup应该怎么做?}); }; TestClass.prototype.popup=function(value){ alert(value); } $(function(){vartestClass=newTestClass();testClass.init(); });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript