Я настраиваю мои JavaScript объектов как следующегоНестатических частные переменные в JavaScript
Object1 = function() {
var privateMember = "private value"
return {
publicMember: "public value"
setPrivateMember: function(value) {
privateMember = value;
}
}
}();
Теперь, если я использую прототипичное наследование для создания новых объектов
Object2.prototype = Object1
А потом установить частный член
Object2.setPrivateMember("new value");
Тогда значение частного члена в объекте 1 также изменяется, поэтому оно ведет себя скорее как sta tic variable. Есть ли способ заставить частные переменные не быть статическими?
PS - Я самонаводящийся программист, поэтому использование терминологии может быть немного отрывочным. Дайте мне знать, нужно ли уточнять
следует использовать 'Object2.prototype = Object1()' или это только опечатка в вставленном коде? – MooGoo
Возможный дубликат [Частные переменные в унаследованных прототипах] (http://stackoverflow.com/questions/3617139/private-variables-in-inherited-prototypes) –