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等故意在花括号内。(其他运营商也会去那里。)