Javascript - свойство объекта в другом свойстве? - PullRequest
0 голосов
/ 18 сентября 2010

В следующем примере, как мне изменить переменную "sizeMod", которая является свойством каждого объекта?

// Will be created by ids
var objs = {};

// Set up objects
$.each(ids, function(index, value){
    objs[value] = {
        sizeMod: 0
    };
    objs[value] = {
        change: function(){
            sizeMod += 1; // How do I write this line correctly?
        }
    };
});

Ответы [ 2 ]

1 голос
/ 18 сентября 2010

посмотрим, поможет ли это:

.
.
.
objs[value] = {
    sizeMod: 0
};
objs[value].change = function(){
    this.sizeMod += 1;
}
.
.
.
1 голос
/ 18 сентября 2010

второй оператор уничтожает ваш исходный объект, где объявлено sizeMod.

это должно работать (не проверено)

$.each(ids, function(index, value){
    objs[value] = {
        sizeMod: 0,
        change: function(){
            this.sizeMod += 1; // How do I write this line correctly?
        }
    };
});

Вы можете позвонить как

objs['relevantkey'].change();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...