为了账号安全,请及时绑定邮箱和手机立即绑定

变量运算符可能吗?

变量运算符可能吗?

繁花如伊 2019-08-12 18:24:46
变量运算符可能吗?有没有办法做类似于以下任何一种情况: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
查看完整描述

3 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

没有开箱即用。但是,很容易用包括JS在内的多种语言手工构建。

var operators = {
    '+': function(a, b) { return a + b },
    '<': function(a, b) { return a < b },
     // ...
     };var op = '+';alert(operators[op](10, 20));

您可以使用基于ascii的名称plus,以避免在不需要时通过字符串。然而,有一半类似于这个问题的问题被问到,因为有人用字符串表示运算符和想要的函数。


查看完整回答
反对 回复 2019-08-12
?
慕容708150

TA贡献1831条经验 获得超4个赞

你可以使用这个eval()功能,但这不是一个好主意。我认为更好的方法是为您的运营商编写函数,如下所示:

var addition = function(first, second) {
   return first+second;};var subtraction = function(first, second) {
   return first-second;};var operator = addition;alert(operator(12, 13));var operator = subtraction;alert(operator(12, 13));


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 400 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信