Сложение функций.
Есть две функции.Нужно получить третью функцию сложив первую и вторую.
<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> |
Функции складывать нельзя. Можно только складывать результаты функций.
function c(x,y) { return a(x,y) + b(x,y); } |
Цитата:
ну держи "оператор" сложения функций /* При передаче списка функций вернёт функцию, которая последовательно применит переданные аргументы к переданному списку, применив оператор арифметической суммы к результату функции списка и вернёт результат. */ 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) ); |
melky,
распарси код функций положи один над другим и захерач новую функцию)) |
Помогите и мне сложить функции пожалуйста)
<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> |
Часовой пояс GMT +3, время: 12:00. |