Phonegap Javascript OO,这个参考

时间:2014-05-06 14:26:50

标签: javascript android oop cordova

我正在尝试在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();

但这看起来不是一个好习惯。

感谢。

1 个答案:

答案 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