簡體   English   中英

javascript / jquery-向實例化對象添加屬性

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM