Показать сообщение отдельно
  #3 (permalink)  
Старый 14.08.2012, 09:44
Аспирант
Отправить личное сообщение для burashka Посмотреть профиль Найти все сообщения от burashka
 
Регистрация: 15.07.2010
Сообщений: 49

т.е. с частными свойствами могут работать только методы объявленные прямо в конструкторе? методы созданные через дополнение прототипа либо не будут иметь доступа к переменной(если это делается вне конструктора), либо во всех объектах будут ссылаться на одно и тоже частное свойство(если это делается внутри конструктора)
например,
function Obj()
{
    var a = 1;
    arguments.callee.prototype.add = function()
    {
        a++;
    }
    arguments.callee.prototype.get = function()
    {
        return a;
    }
}

var o1 = new Obj(),
    o2 = new Obj();

o1.add();
o2.get();

вернет 2
Ответить с цитированием