English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
ПрототипЭто механизм, через который объекты JavaScript наследуют характеристики друг от друга.
В предыдущей главе мы学习了, как использоватьКонструктор:
function User(fname, lname, age, loc) { this.firstName = fname; this.lastName = lname; this.age = age; this.location = loc; } var Seagull = new User("Seagull", "Anna", 22, "New Delhi"); var tarush = new User("Tarush", "Balodhi", 34, "Bihar");Проверьте, посмотрите‹/›
Мы также узналиНельзяДобавление нового атрибута к существующему конструктору объекта:
User.weapon = "Sword";Проверьте, посмотрите‹/›
Чтобы добавить новый атрибут в конструктор, его необходимо добавить в сам конструктор:
function User(fname, lname, age, loc) { this.firstName = fname; this.lastName = lname; this.age = age; this.location = loc; this.weapon = "Sword"; }Проверьте, посмотрите‹/›
Иногда мы хотим добавить новые свойства и методы к конструктору позже, который будет делиться между всеми объектами (примерами). Ответ - объектПрототип.
Свойство prototype позволяет вам добавлять свойства и методы к конструктору.
В этом примере, свойство prototype позволяет вам добавить новые свойства к конструктору объекта User:
function User(fname, lname, age, loc) { this.firstName = fname; this.lastName = lname; this.age = age; this.location = loc; } User.prototype.weapon = "Sword";Проверьте, посмотрите‹/›
В этом примере, свойство prototype позволяет вам добавить новые методы к конструктору объекта User:
function User(fname, lname, age, loc) { this.firstName = fname; this.lastName = lname; this.age = age; this.location = loc; } User.prototype.fullName = function() { return this.firstName + " " + this.lastName; };Проверьте, посмотрите‹/›
Примечание:Обратите внимание: только изменяйте свои прототипы. Не изменяйте прототипы стандартных (внутренних) объектов JavaScript.