Странный баг при prototype
Я заметил, что когда меняю a.optima, меняется и c.optima
//Создаем обьект apple
var Apple = function(){
this.optima = 1;
}
var a = new Apple();
//Создаем обьект container и присваем прототип от apple
var Container = function(){}
Container.prototype = a;
var c = new Container();
//Странный баг
a.optima = 2;
alert(c.optima);
Почему так происходит? |
Потому что в c нет свойства optima, оно из a берётся.
|
Цитата:
|
Странного ничего нет, т.к когда ты пишешь Container.prototype = a;, то в контейнере будет лежать ссылка на Apple, соответсвенно когда ты изменяешь параметр значение optimа, то при вызове: c.optima, это значение и берется. Вроде не ошибся...
|
| Часовой пояс GMT +3, время: 06:03. |