Использование `this` в псевдоклассическом наследовании Крокфорда - PullRequest
2 голосов
/ 27 мая 2010

Я только что прочитал «Хорошие части» и немного смущен. Пример псевдоклассического наследования Крокфорда выглядит так:

var Mammal = function (name) {
    this.name = name;
};

Mammal.prototype.get_name = function () {
    return this.name;
};

Часть проблемы с этим заключается в том, что у конструктора "свисают кишки" - методы находятся вне функции конструктора. Я не вижу, что не так с назначением get_name для this внутри конструктора. Это потому, что у нас получилось бы несколько копий метода get_name?

1 Ответ

3 голосов
/ 27 мая 2010

Да, вот и все.

При назначении их прототипу они будут наследоваться всеми экземплярами Mammal: будет одна единственная копия этих функций во всей системе, независимо от того, сколько Mammal с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...