Показать сообщение отдельно
  #1 (permalink)  
Старый 08.04.2013, 13:59
Интересующийся
Отправить личное сообщение для celkabelka Посмотреть профиль Найти все сообщения от celkabelka
 
Регистрация: 16.05.2012
Сообщений: 10

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())


Чтобы было чуть ясней разобрать ту муть, что я пытаюсь объяснить, вопрос по другому:

Метод, что указан в самой функции и тот что сделал через прототип - ЭКВИВАЛЕНТЫ (равны)?

Если да, тогда как правильно использовать прототипы? Почему сразу не объявить все нужные методы в самом конструкторе?

Последний раз редактировалось celkabelka, 08.04.2013 в 14:09.
Ответить с цитированием