如何在javascript中的类之间共享变量

时间:2013-04-05 22:20:33

标签: javascript jquery

我通过在jQuery / JS之上构建自定义库来扩展我的JS知识,并且这些类必须在彼此之间进行交互。我来自PHP,所以我可以使用静态变量,但在JS中不知道。这是我想要的一个例子:

var A = function() {
    this.myPublicVar = "thisShouldBePrintedFromClassB";
}

A.prototype = {
    showMyVar : function() {alert(this.myPublicVar);} // This gets triggered on direct access.
}

var B = function() {}
B.prototype = {
    // I have no idea how to to access A.myPublicVar
}

任何人都可以为我提供简单的教程或其他内容吗?

PS:我刚刚开始扩展我的JS知识,使用JS / jQuery进行简单设计(使用选择器和构建数据验证器等)。

2 个答案:

答案 0 :(得分:4)

您可以使用继承来访问变量。

var A = function() {
    this.myPublicVar = "thisShouldBePrintedFromClassB";
}

A.prototype = {
    showMyVar : function() {alert(this.myPublicVar);} // This gets triggered on direct access.
}

var B = function() {}
B.prototype = new A();
B.prototype.print = function(){
  alert(this.myPublicVar);
}

var b = new B();
b.print();

答案 1 :(得分:1)

var A = function() {
    this.myPublicVar = "thisShouldBePrintedFromClassB";
}

A.prototype = {
    showMyVar : function() {alert(this.myPublicVar);} // This gets triggered on direct access.
}

var B = function() {}
B.prototype = new A();  //This is what you're missing.

console.log(B.prototype.myPublicVar);