Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК СДЕЛАТЬ
     ❯   

JS Учебник


JS Версии


JS Объекты


JS Функции


JS Классы


JS Асинхронный


JS HTML DOM


JS Браузер BOM


JS Веб APIы


JS AJAX


JS JSON


JS или jQuery


JS Графика


JS Примеры


JS Рекомендация




JavaScript Прототипы объектов



Все объекты JavaScript наследуют свойства и методы от прототипа.


В предыдущей главе мы узнали, как использовать конструктор объекта:

Пример
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}

var myFather = new Person("Щипунов", "Андрей", 50, "зеленый");
var myMother = new Person("Щипунова", "Татьяна", 43, "синий");
Попробуйте сами »

Мы также узнали, что вы не можете добавить новое свойство к существующему конструктору объекта:

Пример
Person.nationality = "Russian";
Попробуйте сами »

Чтобы добавить новое свойство в конструктор, вы должны добавить его в функцию конструктора:

Пример
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "Russian";
}
Попробуйте сами »


Наследование прототипа

Все объекты JavaScript наследуют свойства и методы от прототипа:

  • Date объекты наследуются от Date.prototype
  • Array объекты наследуются от Array.prototype
  • Person объекты наследуются от Person.prototype

Object.prototype находится в верхней части цепочки наследования прототипа:

Date объекты, Array объекты и Person объекты наследуются от Object.prototype.


Добавление свойств и методов к объектам

Иногда вы хотите добавить новые свойства (или методы) ко всем существующим объектам данного типа.

Иногда вы хотите добавить новые свойства (или методы) в конструктор объекта.


Использование свойства prototype

Свойство JavaScript prototype позволяет добавлять новые свойства в конструкторы объектов:

Пример
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}

Person.prototype.nationality = "Russian";
Попробуйте сами »

Свойство JavaScript prototype, также позволяет добавлять новые методы в конструкторы объектов:

Пример
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}

Person.prototype.name = function() {
return this.firstName + " " + this.lastName;
};
Попробуйте сами »

Изменяйте только свои собственные прототипы. Никогда не изменяйте прототипы стандартных объектов JavaScript.



×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.