当前位置: 首页 > 面试题库 >

变量运算符可能吗?

潘秦斩
2023-03-14
问题内容

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

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

问题答案:

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

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

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

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



 类似资料:
  • 编辑:接受的答案声明Haskell支持这一点,

  • 问题内容: 将数学应用于变量的常用方法是 是否可以像这样计算和操纵两个操作数? 然后我该如何连接op和两个变量以及? 我知道我可以比较运到,,,,然后分配和计算.... 但是我可以做些什么,如何告诉编译器op是运算符? 问题答案: 您可以使用运算符模块和字典:

  • 我可以直接对原子变量执行算术运算吗? 因为我发现C标准库提供了很多实用函数,比如来执行原子变量和非原子变量之间的加法。但是,我很好奇,因为变量是原子的,我能直接对它进行算术运算吗?如以下代码所示:

  • 问题内容: JavaScript中的另一种常见情况是为变量提供预设值(如果未定义),例如: 快捷方式表示法是双竖线字符: 由于某种原因,我无法为我工作。是否真的有可能检查是否定义了v,如果x = 10则不定义? 谢谢。 问题答案: 该Opera文章对正在发生的事情给出了不好的描述。 确实会得到if is 的值。如果具有 任何 “假”值也将是正确的。 __ JavaScript中的“ falsey”

  • 增量运算符++将1添加到其操作数,减量运算符 - 从其操作数中减去1。 因此 - x = x+1; is the same as x++; 同样 - x = x-1; is the same as x--; 递增和递减运算符都可以在操作数之前(前缀)或后跟(后缀)。 例如 - x = x+1; can be written as ++x; // prefix form 或者 - x++; /

  • 代码 产出(如预期) 1.post increment运算符()在表中具有最高的优先级。因此它肯定会在赋值运算符()之前执行。根据post增量规则,变量的值只有在执行该语句之后才会增加。 参见有rvalue 3,而不是变量本身,对吗?但是如果它带来了一个具有lvalue的变量,那么5将插入其中,在语句结束后,它的值将是6。这有什么问题,为什么做不到?