Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Prototype и то, если бы мы написали метод в самой ф-ции? (https://javascript.ru/forum/misc/37113-prototype-i-esli-my-napisali-metod-v-samojj-f-cii.html)

celkabelka 08.04.2013 13:59

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


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

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

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

vashurin 08.04.2013 14:24

http://javascript.ru/forum/misc/3684...os-po-oop.html

celkabelka 08.04.2013 15:19

Благодарю!


Часовой пояс GMT +3, время: 19:14.