[英]javascript / jquery - adding properties to an instantiated object
我正在实例化一个建立关联数组的对象。 实例化之后,我想添加对象成员的属性,但是在尝试添加对象时出现错误。
因此,这是对象,该对象解析一堆xml并构建场景和车辆数组:
var supertree = {
scenes: {},
vehicles: {},
init: function() {
this.parseScenes();
this.parseVehicles();
},
...
当我实例化对象时:
supertree.init();
supertree.ready = function() {
assignSpritePos();
}
我无法为其添加属性。 这就是我想要做的:
function assignSpritePos(){
var sceneCount = 0;
var sceneLength = Object.keys(supertree.scenes).length;
for (i=0; i< sceneLength; i++){
//console.log(i);
supertree.scenes[i].index = i;
sceneCount++;
}
}
如您所见,我真正想做的就是将一些对其索引的永久引用存储在整个对象中。 我该怎么做呢? 我得到的错误是:
TypeError: 'undefined' is not an object (evaluating 'supertree.scenes[i].index = i')
为对象分配属性不是递归的,即不会自动为您创建对象,因此您必须分别分配每个属性。
尝试这个...
supertree.scenes[i] = { 'index': i };
您无法将属性分配给尚不存在的对象。 用这个:
supertree.scenes[i] = {};
supertree.scenes[i].index = i;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.