Показать сообщение отдельно
  #6 (permalink)  
Старый 03.04.2013, 01:57
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

function Cat (name){
    this.name = name;
}


Cat.create = function(args){

	var _ = function(){};
	_.prototype = this.prototype;
	var inst = new _;
	this.apply(inst,args);
	return inst;
};


var cat = Cat.create(['Ашот']);
alert(cat.name);



а еще это можно использовать вот так вот

function Cat(name, age) {

	if (this instanceof Cat === false) { // опа на
		return Cat.create(arguments);
	}

	this.name = name;
	this.age = age;
}


Function.prototype.create = function(args){

	var _ = function(){};
	_.prototype = this.prototype;
	var inst = new _;
	this.apply(inst,args);
	return inst;
};


var cat = new Cat('Ашот',11);
var cat2 = Cat('Ашот',11);  // и можно вызывать без new

Последний раз редактировалось megaupload, 03.04.2013 в 02:08.
Ответить с цитированием