В предыдущей статье введено комбинационное наследство, и теперь мы поговорим о оставшемся наследстве.
Прототип наследование
Вызовите функцию и получите объект, возвращаемый этой функцией. Прототип этого объекта - это объект параметра, передаваемый функции.
нравиться:
function personObject (o) {function f () {} f.prototype = o; вернуть новое f ();} var person = {name: "nicholas", друзья: ["shelby", "court", "van"]} var person_one = personobject (person);Из приведенного выше кода мы знаем, что человек - это прототип Person_one. ES5 добавил метод для нормализации прототипа наследования. Этот метод object.create (). Этот метод имеет два параметра. Первый - это объект как прототип нового объекта, как и человек выше, а второй - это объект, который определяет дополнительные атрибуты для нового объекта. Второй параметр является необязательным.
нравиться:
var person_one = object.create (человек, {name: {value: "Jon"}});Если вы просто хотите сохранить один объект похожим на другой, вы можете использовать прототип наследования.
Паразитическое наследование
Реализуйте прототип наследования в функции, а затем добавьте свои собственные свойства и методы к полученному объекту.
нравиться:
функция createanother (o) {var person_one = personObject (o); person_one.sayhi = function () {alert ("hi"); } return person_one;}Паразитарная комбинация наследования
Комбинация наследования также имеет свои недостатки. Он реализует два атрибута наследование, и наследование паразитической комбинации позволяет избежать этой проблемы. Экземпляры наследуют атрибуты через конструкторы, в то время как метод прототипа наследуется посредством паразитического наследования.
нравиться:
Функция наследство (подтип, супертип) {var prototype = object (supertype.prototype); prototype.constructor = subtype; subtype.prototype = prototype;}Называя вышеуказанную функцию, прототипом подтипа является SuperType.prototype, который завершает наследование метода прототипа.
Приведенный выше анализ JavaScript по наследству - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.