我对使用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 :(得分:2)
您创建states
和links
作为全局变量,而不是将它们分配给创建的Object。像这样分配它们
//wsObj function
function wsObj(){
this.states = new Array();
this.links = new Array();
}
它会起作用!