Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Динамически поменять сложение на вычитание (https://javascript.ru/forum/misc/56238-dinamicheski-pomenyat-slozhenie-na-vychitanie.html)

zhurchik 06.06.2015 11:53

Динамически поменять сложение на вычитание
 
Имеется пользовательская функция JS, в ней осуществляется сложение
Можно ли (через аргумент, например, передав что нибудь) без всяких условий, эвалов в самой функции как то знак плюса поменять на минус?
function sum(){
    return 55 + 5;
}

Endy 06.06.2015 13:09

zhurchik,

супер динамично :D

function sum(n) {
    n = n + 1;
    return 55 + 5 * n;
};
console.log(
    sum('+'),
    sum('-')
);

Endy 06.06.2015 13:31

кстати
Цитата:

Сообщение от zhurchik
без всяких условий, эвалов

function sum(n) {
    return new Function('return '+(new Function('n', 'return 55 + n + 5')(n)))();
};
console.log(
    sum('+'),
    sum('-')
);

рони 06.06.2015 13:35

Endy,
function sum(n) {
    //n = n + 1;
    return 55 +  +(n + 5) ;
};
alert( [
    sum('+'),
    sum('-')]
);

Endy 06.06.2015 13:51

рони,
да хороший вариант,но мне почему то все равно такой больше нравится и да вторую строку можно убрать :)
function sum(n) {
    return 55 + 5 * (n+1);
};
alert([
    sum('+'),
    sum('-')
  ].join('\n'));


Часовой пояс GMT +3, время: 12:59.