Когда мы создаем объект с конструктором, его свойства будут добавлены к этому. И добавленные к этому атрибуты на самом деле не будут изменяться в сущности, и в настоящее время наш подход будет выглядеть неэффективным. Например:
Функция ее () {this.name = 'anna';}Это означает, что каждый раз, когда мы создаем объект экземпляра с новым ее (), мы будем генерировать совершенно новый атрибут имени и иметь свое собственное пространство для хранения в памяти, которое принадлежит атрибуту. На самом деле, мы можем добавить атрибут имени в прототип, чтобы все экземпляры могли поделиться этим атрибутом этого имени:
Функция ее () {} her.prototype.name = 'anna';Таким образом, когда мы используем New Her () для создания объекта, атрибут имени больше не является частным свойством нового объекта, но добавляется к прототипу объекта. Хотя этот подход будет очень эффективным, он также предназначен для неизменных свойств в объекте экземпляра. Это точно. Если вы измените это свойство, атрибут всех созданных новых объектов будет изменен. Это не то, что мы хотим ~~~. Общественные свойства объекта особенно подходят для этого подхода.
Здесь давайте улучшим предыдущий пример:
Функция her () {}; her.prototype.name = 'anna'; her.prototype.tostring = function () {return this.name;} function his () {}; his.prototype = new Her (); his.prototype.constructor = his; his.prototype.sex = 'Женщины;Как вы можете видеть, мы обычно завершаем построение соответствующего наследования, прежде чем расширять объект прототипа, в противном случае последующие новые методы атрибута в HIS. Прототип может стереть наследственные вещи.
Функция Child (f, m) {this.eat = f; this.don = m;} child.prototype = new his (); child.prototype.constructor = child; child.prototype.name = 'jok'; child.prototype.fun = function () {return this.eat + this.don}Как вы можете видеть, разница между вызовом ToString () на самом деле является лишь небольшим количеством операций за кулисами. Основное отличие - это свойства, поисковая работа методов будет больше в ее. Прототип.
Приведенный выше метод реализации JavaScript для миграции общих атрибутов на прототип - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.