有没有办法执行类似于以下任一操作:
var1 = 10; var2 = 20;
var operator = "<";
console.log(var1 operator var2); // returns true
-- OR --
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
,以避免在不需要时遍历字符串。然而,有一半与此类似的问题被问到,因为有人拥有代表运算符的字符串并希望从中获得函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)