2013-04-05 96 views
0

我擴大我的知識JS通過機頂的jQuery/JS的構建自定義庫和類有相互之間的互動。我來自PHP,所以我可以使用靜態變量,但不知道JS。這裏是我想要的一個例子:如何共享類之間的變量在JavaScript

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的,方便的設計目的(使用選擇和構建數據驗證等)

+1

如果您想要訪問該屬性,'B'需要從'A'繼承。 – elclanrs 2013-04-05 22:22:42

+0

B.prototype = new A();像這樣 讀這可能是有用http://stackoverflow.com/questions/15843660/inheritance-within-javascript – Givi 2013-04-05 22:23:37

+0

,我應該如何使用多個類讓一個框架說喜歡 – 2013-04-05 22:25:38

回答

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
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);