在javascript中,可以将算术操作数分配给变量



我知道我可以简单地使用if else语句来为我完成数学运算,甚至可以创建一个可以根据需要调用的函数,但我试图基于数学简单地存储+或-作为变量,以便它可以执行

例如

plusOrMinus = +
5 + plusOrMinus + 5 = 10 

我不知道你在什么样的情况下,但乘以1或-1不足够吗?

plusOrMinus = 1
5 + (plusOrminus * 5) = 10
plusOrMinus = -1
5 + (plusOrminus * 5) = 0

不能,但是可以创建一个函数来包装给定的操作符:

function add(a, b) { return a + b };
function sub(a, b) { return a - b };
var op = add;  // look, functions are just objects!
op(5, 5) // -> 10
var op = sub;
op(7, 3) // -> 4

这对我们有什么帮助?把它扩大!

function fold (arr, fn) {
    var r = arr[0];
    for (var i = 1; i < arr.length - 1; i++) {
        r = fn(r, arr[i]);
    }
    return r;
}
fold([1,2,3], add) // -> 6

您可以存储1或-1,并进行相乘,如下所示:

var plusOrMinus;
var Result;
plusOrMinus = 1;
Result = (5 + 5) * plusOrMinus; // 10
plusOrMinus = -1;
Result = (5 + 5) * plusOrMinus; // -10

您可能需要eval()

plusOrMinus  = '+'
eval(5+plusorMinus+5);

相关内容

最新更新