为了账号安全,请及时绑定邮箱和手机立即绑定

想在js里实现类的封装,但遇到一个问题。具体的请看代码。问题见注释

想在js里实现类的封装,但遇到一个问题。具体的请看代码。问题见注释

子衿沉夜 2023-04-14 12:08:34
var TestClass;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(){ var testClass = new TestClass(); testClass.init(); }
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

var TestClass;if (TestClass == undefined) {  TestClass = function(){
  }
}	TestClass.prototype.init = function (options) {		var self = this;
        $(".alert_click").click(function(){
                self.popup("test");//访问闭包里的this
                //这样的代码会提示popup未定义。如果想在此处调用popup应该怎么做?
        });
	};	TestClass.prototype.popup = function (value) {		    alert(value);
	}

                        
	$(function(){        var testClass = new TestClass();
        testClass.init();
	});


查看完整回答
反对 回复 2023-04-17
?
www说

TA贡献1775条经验 获得超8个赞

var person = {  
name: "Alex Russell",
hello: function() { console.log(this.name + " says hello world"); }
}

$("#some-div").click(person.hello.bind(person));

// when the div is clicked, "Alex Russell says hello world" is printed


查看完整回答
反对 回复 2023-04-17
  • 2 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信