В этой статье описывается использование наследования конструктора, которое может использоваться инкапсуляцией JS. Поделитесь этим для вашей ссылки. Детали следующие:
Давайте посмотрим на следующий код
Методы, используемые в библиотеке (YUI):
Скопируйте код следующим образом: Функция Extend (ребенок, родитель) {
var f = function () {};
F.prototype = parent.prototype;
Child.prototype = new f ();
Child.prototype.constructor = ребенок;
Child.Uber = Parent.Prototype;
}
Существует также метод наследования копии, копия атрибута:
Этот метод отличается от ранее. Поскольку прототип ребенка был расширен, нет необходимости сбросить ребенка. Прототип.
По сравнению с предыдущим методом этот метод, очевидно, лучше в эффективности. Потому что то, что здесь выполняется, является копией прототипа суб-объекта один за другим. А не простой прототипный запрос цепочки.
Этот метод применим только к объектам, которые содержат только основные типы данных. Все типы объектов, включая функции и массивы, не воспроизводимы. Они поддерживают только прохождение ссылки.
Скопируйте код следующим образом: Function Extend2 (ребенок, родитель) {
var p = parent.prototype;
var c = child.prototype;
для (var i in p) {
c [i] = p [i];
}
C.uber = P;
}
var shape = function () {}
var twodshape = function () {}
Shape.prototype.name = 'shape';
Shape.prototype.tostring = function () {
вернуть это. name;
}
extend2 (Twodshape, форма);
var t = new TwodShape ();
t.name
//-> «Форма»
t.toString ();
//-> «Форма»
Twodshape.prototype.name = 'twodshape';
t.name
//-> "2D форма"
t.toString ();
//-> "2D форма"
Twodshape.prototype.tostring === shape.prototype.tostring
//-> верно
Twodshape.prototype.name === shape.prototype.name
//-> ложь
Я надеюсь, что эта статья будет полезна для каждого программирования JavaScript.