Javascript 如何从对象中引用方法
调试时,我需要从子对象调用object showMe()方法,但这无法识别showMe()方法 如何从方法中引用对象方法 代码如下-Javascript 如何从对象中引用方法,javascript,object,methods,Javascript,Object,Methods,调试时,我需要从子对象调用object showMe()方法,但这无法识别showMe()方法 如何从方法中引用对象方法 代码如下- function myObj(n) { this.name = n; this.frame = $('<div />'); var subFrame = $('<div />'); subFrame.on("click", function () {
function myObj(n) {
this.name = n;
this.frame = $('<div />');
var subFrame = $('<div />');
subFrame.on("click", function () {
**//how do I reference this.showName() from here ?**
});
this.frame.append(subFrame);
this.showName = function (nn) {
alert(nn);
};
}
$(function () {
var a = new myObj("Test");
});
函数myObj(n){
this.name=n;
this.frame=$('');
var子帧=$('');
子帧上(“单击”,函数(){
**//如何从这里引用此.showName()**
});
this.frame.append(子帧);
this.showName=函数(nn){
警报(nn);
};
}
$(函数(){
var a=新的myObj(“测试”);
});
执行此操作的常用方法是定义var,该var=this
,并参考函数体中的this
您也可以使用
bind
,但随后放弃了本地作用域。您实际上可以将对象的引用作为数据传递到on()
function myObj(n) {
this.name = n;
this.frame = $('<div />');
var subFrame = $('<div />');
subFrame.on("click", {myObj : this}, function (e) {
e.data.myObj.showName();
});
this.frame.append(subFrame);
this.showName = function (nn) {
alert(nn);
};
}
$(function () {
var a = new myObj("Test");
});
函数myObj(n){
this.name=n;
this.frame=$('');
var子帧=$('');
子帧.on(“click”{myObj:this},函数(e){
e、 data.myObj.showName();
});
this.frame.append(子帧);
this.showName=函数(nn){
警报(nn);
};
}
$(函数(){
var a=新的myObj(“测试”);
});