Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.01.2013, 11:58
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Сложение функций.
Есть две функции.Нужно получить третью функцию сложив первую и вторую.

<script>
function a(x,y){
z=x+y;
return z;
}

function b(x,y){
z=x+y;
return z;
}

//(function c=function a+function b???
<script>
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2013, 12:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Функции складывать нельзя. Можно только складывать результаты функций.

function c(x,y) {
    return a(x,y) + b(x,y);
}
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2013, 12:14
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от 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) );
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2013, 15:16
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

melky,
распарси код функций положи один над другим и захерач новую функцию))
Ответить с цитированием
  #5 (permalink)  
Старый 21.01.2017, 20:17
Новичок на форуме
Отправить личное сообщение для vi_khan Посмотреть профиль Найти все сообщения от vi_khan
 
Регистрация: 21.01.2017
Сообщений: 5

Помогите и мне сложить функции пожалуйста)
<script type="text/javascript">
function changeText(){
var rezultat1 = 0;
var odin = document.getElementById('odin').value;
var spisok = document.getElementById('spisok').options[document.getElementById('spisok').selectedIndex].value;
rezultat1 = parseFloat(odin);
rezultat1 *= parseFloat(spisok);
document.getElementById('rezultat1').innerHTML = rezultat1;
}
function changeText1(){
var rezultat2 = 0;
var dva = document.getElementById('dva').value;
var spisok1 = document.getElementById('spisok1').options[document.getElementById('spisok1').selectedIndex].value;
rezultat2 = parseFloat(dva);
rezultat2 *= parseFloat(spisok1);
document.getElementById('rezultat2').innerHTML = rezultat2;
}

</script>

<form onsubmit="return false;">
<select id="spisok" onchange="changeText()">
<option value="23"> Тарталетки с грибами </option>
<option value="35"> Тарталетки с паштетом </option>
<option value="177"> Ассорти рыбное </option>
<option value="110"> Ассорти мясное </option>
<option value="98"> Ассорти овощное </option>
<option value="50"> Закуска к водочке </option>
<option value="40"> Сельдь, соленая с луком </option>
<option value="115"> Бутерброд с икрой лососевой </option>
<option value="51"> Бутерброд с рыбой </option>
<option value="36"> Бутерброд со шпротами </option>
<option value="27"> Помидоры по -гречески </option>
<option value="120"> Грузди со сметанной </option>
<option value="60"> Канапе с сыром и виноградом </option>
<option value="80"> Помидоры фаршированные грибами </option>
<option value="40"> Сало соленное с хреном </option>
<option value="179"> Блинчики с икрой лососевой </option>
<option value="106"> Холодец </option>
<option value="52"> Тарталетки с икрой </option>
<option value="35"> Закуска русская </option>
</select>
<input id="odin" type="number" value="1" oninput="changeText()"> = <output id="rezultat1">1</output> тг

<select id="spisok1" onchange="changeText1()">
<option value="23"> Тарталетки с грибами </option>
<option value="35"> Тарталетки с паштетом </option>
<option value="177"> Ассорти рыбное </option>
<option value="110"> Ассорти мясное </option>
<option value="98"> Ассорти овощное </option>
<option value="50"> Закуска к водочке </option>
<option value="40"> Сельдь, соленая с луком </option>
<option value="115"> Бутерброд с икрой лососевой </option>
<option value="51"> Бутерброд с рыбой </option>
<option value="36"> Бутерброд со шпротами </option>
<option value="27"> Помидоры по -гречески </option>
<option value="120"> Грузди со сметанной </option>
<option value="60"> Канапе с сыром и виноградом </option>
<option value="80"> Помидоры фаршированные грибами </option>
<option value="40"> Сало соленное с хреном </option>
<option value="179"> Блинчики с икрой лососевой </option>
<option value="106"> Холодец </option>
<option value="52"> Тарталетки с икрой </option>
<option value="35"> Закуска русская </option>
</select>
<input id="dva" type="number" value="1" oninput="changeText()"> = <output id="rezultat2">1</output> тг
</form>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
callback функций Tek jQuery 1 21.08.2012 19:39
Какая разница между определениями функций Nadine Общие вопросы Javascript 1 07.03.2012 16:07
последовательность функций stuff Общие вопросы Javascript 12 01.08.2011 17:31
Как отлаживать события? Или как сделать трассировку вызовов функций? gennad Events/DOM/Window 1 18.08.2010 13:21
Как получить список пользовательских функций объекта window? Маэстро Events/DOM/Window 13 03.07.2010 13:20