Javascript 运算符存储在字符串中时的数学运算

Javascript 运算符存储在字符串中时的数学运算,javascript,Javascript,有两个变量都包含整数: var input; var value; 需要对其执行算术运算,但将运算符存储在变量中: var operator; 如何进行数学运算? i、 e.文件写入(输入运算符值) 多谢各位 switch (operator) { case '+': result = input + value; break; case '-': result = input - value; break; 等等 等等 对于通用运算符,您可以这样定义运算符: var operat

有两个变量都包含整数:

var input;
var value;
需要对其执行算术运算,但将运算符存储在变量中:

var operator;
如何进行数学运算?
i、 e.文件写入(输入运算符值)

多谢各位

switch (operator) {
  case '+': result = input + value; break;
  case '-': result = input - value; break;
等等

等等


对于通用运算符,您可以这样定义运算符:

var operators = {
    "+": function(a, b) { return a + b; },
    "x": function(a, b) { /* return cross product of a, b */ }
    /* etc */
};

var operator = '+';

var c = operators[operator](1, 2);  // c=3

通过这种方式,可以在运行时扩展operators对象(如果您愿意,甚至可以由用户扩展)。

对于通用运算符,您可以这样定义运算符:

var operators = {
    "+": function(a, b) { return a + b; },
    "x": function(a, b) { /* return cross product of a, b */ }
    /* etc */
};

var operator = '+';

var c = operators[operator](1, 2);  // c=3

通过这种方式,operators对象可以在运行时扩展(如果您愿意,甚至可以由用户扩展)。

安全免责声明:这是非常不安全的,需要在执行之前验证输入。对于您的用例,您应该使用上面的答案之一,这只是供您参考

尽管如此,它仍然有效:

eval("2" + op + "2")

一个完整的示例

安全免责声明:这是非常不安全的,需要在执行之前验证输入。对于您的用例,您应该使用上面的答案之一,这只是供您参考

尽管如此,它仍然有效:

eval("2" + op + "2")

一个完整的示例

是的,您可以使用eval()函数制作整个计算器

是的,您可以使用eval()函数制作整个计算器

我认为这是从用户获取值或运算符的好方法。您可以对值执行任何操作。因为这样更灵活,更容易使用

var a=10,b=20,op='+',
ans=eval(`a}${op}${b}`);

控制台日志(ans)我认为这是从用户获取值或运算符的好方法。您可以对值执行任何操作。因为这样更灵活,更容易使用

var a=10,b=20,op='+',
ans=eval(`a}${op}${b}`);

控制台日志(ans)是否使用
开关
语句不是选项?无法想象它会以其他方式工作。使用
switch
语句不是选项吗?“无法想象它会以其他方式工作。”Robby The etc故意在花括号内。(其他操作员也去了。)@Robby等故意在花括号内。(其他运营商也会去那里。)