| Сообщение от dima*** | 
	| Есть две функции.Нужно получить третью функцию сложив первую и вторую. | 
	
высший класс оперирования терминами функционального программирования 
 
 
ну держи "оператор" сложения функций
/*
При передаче списка функций вернёт функцию, которая
последовательно применит переданные аргументы к переданному списку,
применив оператор арифметической суммы к результату функции списка 
и вернёт результат.
*/
function plus (/* function1, function2, ... functionN */) {
    var functions = [].slice.call(arguments), m = functions.length;
    return function () {
        for (var i = 0, acuum = 0; i < m; i++) {
            acuum += functions[i].apply(window, arguments);
        }
        return acuum;
    };
}
ну и пример использования :
function plus (/* function1, function2, ... functionN */) {
    var functions = [].slice.call(arguments), m = functions.length;
    return function () {
        for (var i = 0, acuum = 0; i < m; i++) {
            acuum += functions[i].apply(window, arguments);
        }
        return acuum;
    };
}
function a(x,y){
    var z=x+y;
    return z;
}
function b(x,y){
    var z=x+y;
    return z;
}
var a_plus_b = plus(a, b);
alert( a_plus_b(2, 3) );