Установите для свойства объекта отрицательное значение свойства в том же объекте (Javascript / jQuery) - PullRequest
0 голосов
/ 01 апреля 2012

Допустим, у меня есть объект Javascript:

var myObj = {
 property1 : 20,
 property2 : -20
}

Но вместо -20 для property2 мне нужно взять значение property1 и преобразовать его в отрицательное значение в пределах property2:

var myObj = {
 property1 : 20,
 property2 : this.property1 * -1
}

Это не работает, но я думаю, что это иллюстрирует то, чего я хочу достичь.

Ответы [ 3 ]

2 голосов
/ 01 апреля 2012

Вы не можете этого сделать.Вы можете назначить его позже, однако:

var myObj = {
    property1: 20
};

myObj.property2 = -myObj.property1;
1 голос
/ 01 апреля 2012

Я мог бы предложить вам следующее

var myObj = {
    property1 : 20,
    get_property2 : function() {
        return this.property1 * -1;
    },
    set_property2 : function(value) {
        this.property1 = value * -1;
    }
}

Редактировать

Кажется, что это зависимое свойство, поэтому оно доступно только для чтения.Но я отредактировал код так, чтобы он также был доступен для записи.

0 голосов
/ 01 апреля 2012

Вы можете использовать это:

var myObj = {
   property1 : 20,
   get property2() {    return this.property1 * -1;   }
};

Но вы можете прочитать только property2 свойство.

Определение установщика property2 не будет проблемой.См. Ссылку JavaScript Getters and Setters .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...