// codeart.ru / Вопрос/Ответ / Опять наступил на грабли с инициализацией переменных в JavaScript Форум

Опять наступил на грабли с инициализацией переменных в JavaScript rss подписка

Автор: Codeart

Сколько раз уже наступал на эти грабли, но все никак не могу запомнить, что инициализировать переменные следующим образом в JS нельзя:


function SomeClass(){}
SomeClass.prototype = {
some_array :[] // типа делаю первоначальную инициализацию для каждого объекта
}
a = new SomeClass();
b = new SomeClass();

a.some_array.push('test');
alert(a.some_array); // как и ожиадется возвращает ['test']
alert(b.some_array); // а вот здесь я ожидаю пустой массив, а возвращается ['test']

Прототипное наследование, мать его… Надо просто запомнить. что прототип один на всех. :-)

Leave a Reply

« »