Показать сообщение отдельно
  #6 (permalink)  
Старый 15.12.2014, 20:14
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от JS2DX
существует ли пример где метод стоило бы оставить внутри tester(){}?
Да, это тот самый случай. Ваш прототип, в примере вообще не нужен. Методы каждого объекта работают со своими собственными данными (если Вы именно этого хотели, а судя по примеру -- это так)
Но вообще, если вы напишете во так
function tester(){
  this.data = ['a','b']
}
tester.prototype.getData=function(name){return this.data[name]}
tester.prototype.setData=function(name, newValue){return this.data[name]=newValue}
 
 
var t1 = new tester()
var t2 = new tester()
 
console.log(t1.getData(0))
console.log(t2.getData(1))
console.log(t2.setData(1, "new"))
console.log(t1.getData(1))
console.log(t2.getData(1))

будут примерно те же яйца, и большинство случаев покроют, отличие в том, что в Вашем случае, data приватна, инкапсулирована, ее нельзя изменить из-вне, но ваш код жрет память.

Последний раз редактировалось krutoy, 15.12.2014 в 20:38.
Ответить с цитированием