我对使用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>";
提前致谢。
最佳答案
您将states
和links
创建为全局变量,而不是将它们分配给创建的对象。像这样分配他们
//wsObj function
function wsObj(){
this.states = new Array();
this.links = new Array();
}
它将起作用!
关于javascript - 无法创建对象数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20540163/