Динамические ссылочные переменные (объекты)? - PullRequest
1 голос
/ 21 ноября 2011

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

<input value="Create person" onclick="CreateObject()" />

......

function CreateObject(){
var person = new Person("Carl", 18);
}

Каждый раз, когда вызывается функция, создается экземпляр объекта с одной и той же ссылочной переменной. Я хочу, чтобы ссылочные переменные отличались при каждом вызове функции (например, «person1», «person2», «person3») Что мне делать?

1 Ответ

4 голосов
/ 21 ноября 2011

Чтобы использовать имена динамических переменных (не рекомендуется) :

function CreateObject()
{
    window['person' + CreateObject.counter++] = new Person("Carl", 18);
}

CreateObject.counter = 0;

Лучше (как предлагает @ delnan ) использовать массив:

var people = [];

function CreateObject()
{
    var person = new Person("Carl", 18);
    people.push(person);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...