Показать сообщение отдельно
  #8 (permalink)  
Старый 19.07.2009, 17:47
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Vladimir[gs
]Существует ли способы вернуть результат автоматически, без появления отдельных методов в цепочке?
Можно добавлять методы в prototype числа (только F здесь уже не нужен):
Number.prototype.plus = function(num) {
	return this + num;
};
Number.prototype.minus = function(num) {
	return this - num;
};

alert(
(10).plus(5).minus(3)
);


Для удобного наполнения объектов свойствами/методами обычно используют функцию Object.extend . Простейший вариант:
Object.extend = function(self, obj) {
	for (var key in obj) self[key] = obj[key];
	return self;
};


И наполняем:
Object.extend(Number.prototype, {
	plus: function(num) {
		return this + num;
	},
	minus: function(num) {
		return this - num;
	}
});


upd: не очень удачно получилось, здесь методов мало, при большом количестве методов с Object.extend все же удобней.

Последний раз редактировалось Riim, 19.07.2009 в 17:53.
Ответить с цитированием