Использование цикла for с объектами для распечатки свойств каждого уникального объекта - PullRequest
0 голосов
/ 21 марта 2012

Я пробую что-то новое, и у меня возникают проблемы с моей текущей идеей.Я все еще новичок и пытаюсь понять основы использования объектов, так что я могу быть совершенно не в своей тарелке с этим, но я подумал, что могу спросить всех вас, есть ли шанс, что у меня есть работа.Я хочу использовать цикл for, чтобы добавить число к каждому созданному мной объекту кролика, а затем распечатать прилагательное, которое оно передало в него.

Ответы [ 4 ]

3 голосов
/ 21 марта 2012

Большинство людей хранят кроликов в массивах.Это значительно облегчает управление растущей популяцией этих чудесных существ.

Вот пример:

var rabbitArray = [
    new Rabbit("fluffy"),
    new Rabbit("happy"),
    new Rabbit("sleepy")
];

for (var i=0;i<rabbitArray.length;i++) {
    console.log(rabbitArray[i].adjective);
}

Вы также можете толкать новых кроликов в массив, который у вас есть.Для этого есть специальный метод:

rabbitArray.push(new Rabbit("stubborn"));

Если вам нужна дополнительная информация о том, как использовать массивы для упрощения управления вашим запасом, обратитесь к этой документации: Массивы Javascript

1 голос
/ 21 марта 2012

В вашем коде:

> for (i=1;i<=3;i++){
>     //console.log("rabbit"+i);
>     var tempRabbit = "rabbit"+i;
>     console.log(tempRabbit.adjective);
> }

значение tempRabbit является строкой, и строки не имеют прилагательного метода. Поскольку ваши объекты Rabbit назначены глобальным переменным, вы можете обращаться к ним как к именованным свойствам глобального объекта. В браузерах объект window по сути является глобальным объектом, поэтому вы можете использовать обозначение в квадратных скобках:

console.log(window[tempRabbit].adjective);

Однако, вероятно, лучше поместить ваших Кроликов в массив и обращаться к ним как к членам (для других ответов).

0 голосов
/ 21 марта 2012

Вы можете использовать массив, а затем обращаться к нему по индексу.

var rabbits=[];
rabbits[0]= new Rabbit("fluffy");
rabbits[1] = new Rabbit("happy");
rabbits[2] = new Rabbit("sleepy");
0 голосов
/ 21 марта 2012

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

eval('var tempRabbit = rabbit'+i+';');

Это создаст и оценит строку. Вы должны знать, что некоторые люди находят eval ужасным.

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