if/else在函数中定义加号或减号

Jak*_*ake 4 javascript math

我有两个几乎相同的功能.它们之间的唯一区别是一个有+一个-.这些在每个函数中使用了大约20次,所以我想用var来简化这个.

我仍然是JavaScript的新手,所以我不知道从哪里开始,但是类似于:

if ( blah blah ){
    var symbol = '-';
} else{
    var symbol = '+';
}

var example = value1 [symbol] value2;
Run Code Online (Sandbox Code Playgroud)

谢谢

dar*_*aim 20

用这个:

var modifier = (blah blah) ? 1 : -1;
var example = value1 + (modifier * value2);
Run Code Online (Sandbox Code Playgroud)


Ror*_*san 5

您可以定义一个包含由操作员键入的功能的对象。像这样:

var operations = {
    '+': function(a, b) { return a + b; },
    '-': function(a, b) { return a - b; }
}

var x = operations[condition ? '+' : '-'](value1, value2);
Run Code Online (Sandbox Code Playgroud)

我认为@darthmaim拥有的最好的方法,虽然,但它取决于如果你需要使用其他运营商,如*/%