На самом деле, когда я впервые начал изучать JS, я посмотрел на реализацию наследования. В то время я просто пытался понять сегменты кода, которые я видел из книги. Я переосмыслил его сегодня и почувствовал, что это было результатом эволюции разведки мышления.
Наследование означает повторное использование.
Если вы отложите в сторону присущую идею наследования и позволите B повторно использовать членов A, самый простой и самый грубый способ сделать это, b = a;
Затем вопрос: любое изменение в B является изменением на (тот же объект).
ОК, затем скопируйте один. Если неглубокая копия недостаточно безопасна, используйте Deep Copy.
Проблема: код повторно используется, но память потрачена впустую (независимо от переменных или методов, это объект в JS).
Если вы не копируете, читаете и напишите, вы можете использовать прототип JS, b .__ Proto__ = a. Как правило, мы не меняем __proto__ напрямую, это слишком жестоко. JS предоставляет метод, который может достичь цели более «нежным» - Object.Create (b).
Этот метод возможен, но это всего лишь режим повторного использования для конкретных объектов. Что если мы достигнем «объекта, созданного с использованием Constructorb, может повторно использовать прототип объекта Constructora»?
Ответ: обработать b как constructorb.prototype и обработать как Constructora.prototype.
вопрос:
Решение:
При объявлении Constructorb система автоматически спросит constructorb.prototype.constructor = constructorb; В приведенном выше коде конструктор выброшен и добавляется конструктор.
Выше всего является самым основным наследством. Это не находится в рамках этой статьи о том, как подклассы называют конструктором и членами родительского класса в целом (например, это.
Выше приведено полное содержание старомодного наследства классов JavaScript, которые редактор приносит вам. Я надеюсь, что все будут поддерживать wulin.com больше ~