Показать сообщение отдельно
  #20 (permalink)  
Старый 01.09.2012, 09:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Сообщение от Maxmaxmахimus Посмотреть сообщение
подобные вещи вы можете невозбранно позаимствовать у мастерски созданной каким-то неизвестным гением чудо функции 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, че за хрень ты создал вообще))))? Я не пони как она работает, а, все пони, ты не дописал оказывается
Код с mdn
Function.prototype.construct = function (aArgs) {
    var fConstructor = this, fNewConstr = function () { fConstructor.apply(this, aArgs); };
    fNewConstr.prototype = fConstructor.prototype;
    return new fNewConstr();
};
__________________
29375, 35
Ответить с цитированием