小编典典

变量运算符可能吗?

javascript

有没有一种方法可以执行以下任一操作:

var1 = 10; var2 = 20;
var operator = "<";
console.log(var1 operator var2); // returns true

- 要么 -

var1 = 10; var2 = 20;
var operator = "+";
total = var1 operator var2; // total === 30

阅读 321

收藏
2020-05-01

共1个答案

小编典典

并非开箱即用。但是,很容易以多种语言(包括JS)进行手工构建。

var operators = {
    '+': function(a, b) { return a + b },
    '<': function(a, b) { return a < b },
     // ...
};

var op = '+';
alert(operators[op](10, 20));

您可以使用基于ASCII的名称(例如plus)来避免在不需要时使用字符串。但是,由于有人用字符串表示运算符并希望从中获得功能,所以提出了与此问题类似的问题的一半。

2020-05-01