Когда мы объявляем метод в объекте прототипа, у нас просто есть одно место в памяти, в котором мы можем позже ссылаться на методы, однако используя идею private методов, мы будем повторно создавать методы в памяти каждый раз, когда мы создаем нового ребенка.Закрытые методы внутри конструктора (Javascript, плохая идея?)
Просто ради визуального взглянуть на обоих ниже структур:
function Person(firstname, lastname){
this.firstname = firstname,
this.lastname = lastname
}
Person.prototype.getFullName = function() {
return this.firstname + ' ' + this.lastname;
}
var ham = new Person('Hamoodi', 'Josef');
Okay поэтому выше код создает метод и сохраняет его в пределах нашего объекта-прототипа, большой материал.
function Person(firstname, lastname){
this.firstname = firstname,
this.lastname = lastname,
this.getFullName = function() {
return this.firstname + ' ' + this.lastname;
}
}
от того, что я понял (поправьте меня, если я ошибаюсь), это как я создать частный метод, это только кажется, что это плохая идея, если нам нужно создать много детей, или я просто пропущу точку?
Любые мысли?
Это не частный метод ... – epascarello
@epascarello, можете ли вы его отредактировать? Так что я вижу разницу – Hjosef
Посмотрите на шаблон модуля – epascarello