Показать сообщение отдельно
  #18 (permalink)  
Старый 13.01.2016, 23:40
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

А рабоче-крестьянский вариант засчитывается?
var sum = function() {
				var args = arguments,
					lenArgs = args.length;
				
				if 	(lenArgs == 3) return args[0] + args[1] + args[2];
				
				if 	(lenArgs == 2) {
					return function(c) { return args[0] + args[1] + c; }
				}	
				if 	(lenArgs == 1) {
					return function() {
						if (arguments.length == 1){
							var b = arguments[0];
							return function(c) { return args[0] + b + c;	}
						} else {
							return args[0] + arguments[0] + arguments[1];
						}
					}
				}	
			}

alert( 'sum(2, 5, 10) =  ' + sum(2, 5, 10) + "\n"
+ 'sum(2, 5)(10) =  ' + sum(2, 5)(10) + "\n"
+ 'sum(2)(5)(10) =  ' + sum(2)(5)(10) + "\n"
+ 'sum(2)(5, 10) =  ' + sum(2)(5, 10));

Последний раз редактировалось Keramet, 13.01.2016 в 23:44.
Ответить с цитированием