我正在尝试在PhoneGap上使用OO,我注意到我不能在他自己的方法中使用对象的“this”引用。
例:
var App = function() {
this.a = function() {
return true;
}
this.b = function() {
alert(this.a());
}
}
在App.b()中,当我在浏览器上运行它工作正常,但作为一个phonegap应用程序(Android)没有。有谁知道为什么?
我用以下方法解决了这个问题:
var App = function() {
var self = this;
this.a = function() {
return true;
}
this.b = function() {
alert(self.a());
}
}
并称之为
var app = new App();
app.b();
但这看起来不是一个好习惯。
感谢。
答案 0 :(得分:0)
您正在寻找的代码可能是:
var App = {
a: function() {
return true;
},
b: function() {
alert(this.a);
}
}
修改强>
如果您想要实例化,请执行以下操作:
function App() {}
App.prototype = {
a: function() {
return true;
},
b: function() {
alert(this.a);
}
}
var app1 = new App(),
app2 = new App()
app2.a() // true