从自对象javascript内部调用的公共方法?
有没有办法从同一对象内配置的jquery按钮单击调用public方法??下面我向你展示了我尝试过的多种方法从自对象javascript内部调用的公共方法?,javascript,jquery,Javascript,Jquery,有没有办法从同一对象内配置的jquery按钮单击调用public方法??下面我向你展示了我尝试过的多种方法 var myClass = new MyClass(); function MyClass() { this.func1 = function () { alert("Hello World"); } var me = this; $("#my-button").click(function(){ //func1(); //don
var myClass = new MyClass();
function MyClass() {
this.func1 = function () {
alert("Hello World");
}
var me = this;
$("#my-button").click(function(){
//func1(); //dont work (wold like)
//this.func1(); //dont work (would like)
me.func1(); //Work! but is not correct way to do it
myClass.func1(); //Work! but the idea its that recognize itself widthout call public instance
});
}
其他方法???尝试以下方法:
var myClass = new MyClass();
function MyClass() {
var myFunc = function () {
alert("Hello World");
}
this.func1 = myFunc;
$("#my-button").click(function(){
myFunc();
});
}
me.func1()实际上是正确的方法,尽管我相信惯例是将其命名为“self”而不是“me”。因为点击处理程序中的
这个指向我的按钮,这个.func1()
不起作用func1()
将不起作用,因为当最终触发单击处理程序时,它将处于不同的上下文中,func1()
在该上下文中没有任何意义。您的解决方案很好。me.func1()//工作但这不是正确的方法吗?这种方法有什么错?你说的“公共方法”是什么意思?@ParthThakkar我想问一个相同的问题Javascript是Javascript,不要试图强迫它像另一种语言(例如java)一样工作。最佳实践?根据什么?称之为惯例。哈哈,我没有根据,这就是为什么我在前面加上“我相信”。约定的约定更好。