我有两个几乎相同的功能.它们之间的唯一区别是一个有+一个-.这些在每个函数中使用了大约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)
您可以定义一个包含由操作员键入的功能的对象。像这样:
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拥有的最好的方法,虽然,但它取决于如果你需要使用其他运营商,如*,/或%。