Prototype и то, если бы мы написали метод в самой ф-ции?
Всем привет!
Мат. часть читал! Сейчас занялся прототипами и совсем запутался с функциями конструкторами и прототипами. Все пытаюсь приблизить это к обычному ооп, что в остальных языках, но как многие говорят, что об ооп тут нужно вообще забыть, что в принципе я постепенно начинаю уяснять. Вопрос возможно глупый, но объясните как правильно использовать прототипы. То что ими удобно расширять стандартные объект js и делать что-то типа наследования - это я понял. Вот пример: function User(name) { var name = name; /* Что мне мешает сразу объявить нужный функционал тут? А не в дальнейшем в прототипах? */ this.getName = function() { return name; } } User.prototype.getName = function() { return this.name; } var u1 = new User("Igor"); console.log(u1); console.log(u1.getName()) Чтобы было чуть ясней разобрать ту муть, что я пытаюсь объяснить, вопрос по другому: Метод, что указан в самой функции и тот что сделал через прототип - ЭКВИВАЛЕНТЫ (равны)? Если да, тогда как правильно использовать прототипы? Почему сразу не объявить все нужные методы в самом конструкторе? |
|
Благодарю!
|
Часовой пояс GMT +3, время: 19:14. |