подобные вещи вы можете невозбранно позаимствовать у мастерски созданной каким-то неизвестным гением чудо функции Class
И ТУТ В ТРЕД ВРЫВАЕТСЯ ДЯДЯ ЛЕША:
Function.prototype.create = function ( args ) {
var Constructor = this;
function Wrapper() { Constructor.apply( this, args ) }
Wrapper.prototype = Constructor.prototype;
return new Wrapper
}
function Cat( a, b ) {
this.a = a;
this.b = b;
}
var cat = Cat.create( [1, 2] )
alert( cat.a ) // 1
alert( cat.constructor === Cat ) // true
alert( cat instanceof Cat ) // true
alert( cat.__proto__ === Cat.prototype ) // true
ну а совсем для эстетов можно делать обертку так, чтобы имя сохранялось )), так папа раньше делал в функции Class говорят, пока на него не наехали что это мыл долго)
var Wrapper = eval( '(function ' + this.name + '(){Constructor.apply(this,args)})' );
п.с. devote, че за хрень ты создал вообще))))? Я не пони как она работает, а, все пони, ты не дописал оказывается
|