представлять
Прототип относится к типу объектов, которые создаются с помощью экземпляров -прототипов и создают новые объекты, копируя эти прототипы.
текст
Для режима прототипа мы можем использовать уникальную функцию прототипа JavaScript для создания объектов, то есть один объект создается как значение атрибута прототипа другого объекта. Сам объект прототипа эффективно использует объекты, созданные каждым конструктором. Например, если прототип конструктора содержит атрибут имени (см. Пример ниже), объекты, созданные через этот конструктор, будут иметь этот атрибут.
Глядя на определение моделей прототипа в существующей литературе, нет JavaScript. Вы можете обнаружить, что многие из объяснений касаются классов, но реальность такова, что JavaScript, основанный на прототипе наследования, полностью избегает концепции класса. Мы просто копируем существующий объект для создания объекта.
Настоящее прототип наследование предлагается в качестве последней версии стандарта ECMASCRICT5. Метод Object.Create используется для создания такого объекта. Этот метод создает указанный объект. Прототип его объекта имеет указанный объект (то есть первый объект параметра, переданный методом), а также может содержать другие необязательные указанные атрибуты. Например, Object.Create (Prototype, OptionaldescriptorObjects), вы также можете увидеть это использование в следующем примере:
Кода -копия выглядит следующим образом:
// Поскольку это не конструктор, его не нужно капитализировать
var somecar = {
Drive: function () {},
Имя: 'Mazda 3'
};
// Создать новый автомобиль с Object.Create x
var nothercar = object.create (somecar);
sithercar.name = 'toyota kami';
Object.Create запускает вас наследуя непосредственно от других объектов. Используя второй параметр этого метода, вы можете инициализировать дополнительные свойства. Например:
Кода -копия выглядит следующим образом:
var транспортное средство = {
getModel: function () {
console.log ('плесень транспортного средства:' + this.model);
}
};
var car = object.create (транспортное средство, {
'идентификатор': {
значение: my_global.nextid (),
перечисляется: true // Запись по умолчанию: false, настраивается: false
},
'model': {
значение: 'ford',
Перечисляемо: правда
}
});
Здесь вы можете использовать буквальный объект, чтобы пройти во втором параметре Object.create для использования буквального объекта, чтобы ввести дополнительные свойства для инициализации, а его синтаксис такой же, как и объект. DefineProperties или Object.DefineProperty. Это позволяет устанавливать свойства свойств, таких как перечисляемые, записи или настраиваемые.
Если вы хотите реализовать режим прототипа самостоятельно, вместо использования Object.create напрямую. Вы можете использовать код, например, для реализации приведенного выше примера:
Кода -копия выглядит следующим образом:
var athersprototype = {
init: function (carmodel) {
this.model = carmodel;
},
getModel: function () {
console.log ('Mrass Flom:' + this.model);
}
};
Функция транспортного средства (модель) {
функция f () {};
F.prototype = efferencePrototype;
var f = new f ();
f.init (модель);
возврат F;
}
var car = ehair ('ford Escort');
car.getModel ();
Суммировать
Использование режима прототипа в JavaScript просто вездесущему. Многие другие режимы также основаны на прототипе, поэтому я не скажу много. То, на что вы должны обратить внимание на здесь, является проблема мелкой копии и глубокой копии, чтобы избежать проблем с цитированием.