История изменений
Исправление special-k, (текущая версия) :
Мой недогадливый недоверчивый друг
var Plugin1 = function(){console.log('ia plugin')};
//классовые методы
Plugin1.metainformaciyayi = {}
Plugin1.metainformaciyayi.m1 = 'метаинформация1'
Plugin1.metainformaciyayi.m2 = 'метаинформация2'
//объектные методы
Plugin1.prototype.v1 = 1
Plugin1.prototype.v2 = 2
//наследуем поочередно
////1. сначала функцию конструктор (в js не существует понятия super)
var Plugin2 = function(){
Plugin1.apply(this, arguments)
};
////2. затем наследуем метаинформацию
Plugin2.metainformaciyayi = Object.create(Plugin1.metainformaciyayi)
////3 прототип "объекта"
Plugin2.prototype = Object.create(Plugin1.prototype)
//проверяем наследуемость
Plugin1.metainformaciyayi.m3 = 'метаинформация3'
Plugin2.metainformaciyayi.m4 = 'метаинформация4'
console.log(Plugin2.metainformaciyayi.m3) //наследовалось
console.log(Plugin1.metainformaciyayi.m4) //пусто
console.log((new Plugin2).v1)
Исходная версия special-k, :
Мой недогадливый недоверчивый друг
var Plugin1 = function(){console.log('ia plugin')};
//классовые методы
Plugin1.metainformaciyayi = {}
Plugin1.metainformaciyayi.m1 = 'метаинформация1'
Plugin1.metainformaciyayi.m2 = 'метаинформация2'
//объектные методы
Plugin1.prototype.v1 = 1
Plugin1.prototype.v2 = 2
//наследуем поочередно
////1. сначала функцию конструктор (в js не существует понятия super)
var Plugin2 = function(){
Plugin1.apply(this, arguments)
};
////2. затем наследуем метаинформацию
Plugin2.metainformaciyayi = Object.create(Plugin1.metainformaciyayi)
////3 прототип "объекта"
Plugin2.prototype = Object.create(Plugin1.prototype)
//проверяем наследуемость
Plugin2.metainformaciyayi.m3 = 'метаинформация3'
console.log(Plugin2.metainformaciyayi.m3)
console.log(Plugin1.metainformaciyayi.m3) //пусто
console.log(Plugin2.metainformaciyayi.m1) //наследовалось
console.log((new Plugin2).v1)