我对使用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>";


提前致谢。

最佳答案

您将stateslinks创建为全局变量,而不是将它们分配给创建的对象。像这样分配他们

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


它将起作用!

关于javascript - 无法创建对象数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20540163/

10-16 21:59