2013-12-12 82 views
0

我對使用javascript的面向對象編程有點新。無法創建對象陣列

我有工作區的數組作爲

//global var 
var workspaceArray = new Array(); 

那麼我推着工作區對象的數組中的 -

//in some function 
workspaceArray.push(new wsObj()); 

//wsObj function 
function wsObj(){ 
    states = new Array(); 
    links = new Array(); 
} 

但是當我嘗試使用它的地方,它拋出錯誤不能讀取屬性狀態。

//error in the following line 
var stateName = "q" + "<sub>" + workspaceArray[activeWSId].states.length + "</sub>"; 

在此先感謝。

+0

什麼是'activeWSId'? – anand4tech

+1

檢查小提琴http://jsfiddle.net/6Pz7R/ – anand4tech

+0

謝謝阿南德,我得到了問題,這是缺少這個關鍵字 – codeomnitrix

回答

2

您創建stateslinks作爲全局變量,而不是將它們分配給創建的對象。像這樣分配它們

//wsObj function 
function wsObj(){ 
    this.states = new Array(); 
    this.links = new Array(); 
} 

它會工作!

+0

感謝它的工作。其實我讀了這一篇教程,但錯過了這個關鍵字:(。 – codeomnitrix

+0

沒問題。很高興它現在修復了。 –