Как использовать вложенные функции в объектах - PullRequest
3 голосов
/ 10 января 2009

Предположим, вы используете следующую структуру:

var Args = new Object();
Args.Age = '10';
Args.Weight = '10';

Args.GetAge = function() {
    return 'I am ' + Age + ' years old';
}

Args.GetWeight = function() {
    return 'I weigh ' + Weight + ' pounds';
}

Это прекрасно работает. Но возможно ли использовать универсальный, чтобы вам не нужно было создавать функцию для каждой переменной? Например, что-то вроде следующего:

Args.GetValue = function(i) {
    return this.i;
}

Кажется, это не сработает, но я даже не знаю, возможно ли это. Кто-нибудь знает ответ на эту загадку?

Ответы [ 2 ]

4 голосов
/ 10 января 2009

Вы можете получить доступ к свойствам через [] запись:

alert(Args["Age"]);

И, как указано ниже, вы также можете просто прочитать значение через .Age или .Weight:

alert(Args.Age);

Это казалось очевидным, поэтому я подумал, что вы ищете что-то еще.

Кстати, вы можете упростить создание вашего объекта до:

var args = { Age : '10', Weight : '10' };
1 голос
/ 10 января 2009
var Args = {};
Args.Age = '10';
Args.Weight = '10';

alert(Args.Age);
alert(Args.Weight);

Они доступны как для чтения / записи, вам не нужны сеттеры / геттеры.

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