var x = 10;
var y = 5;
var action = '+';
var z = x action y; //15
是否可以将算术运算符指定为变量?
答案 0 :(得分:3)
你可以检查一下你想要支持的行动:
var x = 10;
var y = 5;
var action = '+';
var z = null;
if (action == '+') {
z = x + y;
} else if (action == '-') {
z = x - y;
} else if (action == '*') {
z = x * y;
} else if (action == '/') {
z = x / y;
} else {
alert('Unsupported action');
}
还有eval
函数,它允许你执行一些动态的javascript语句,但它的使用常常令人不悦:
var x = 10;
var y = 5;
var action = '+';
var z = window.eval(x + action + y);
答案 1 :(得分:3)
使用该语法是不可能的。最简单的方法是使action
成为一个函数:
var action = function(a, b) { return a + b; };
...
var z = action(x, y);
答案 2 :(得分:0)
使用:
window.eval(x + action + y);