[英]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.