javascript - 用javascript中的变量替换运算符

标签 javascript operators

我正在尝试用变量替换一些数学运算符,以便我可以根据某些条件更改运算符,然后使用该变量代替运算符。

例如

var abc = 5;
if (abc<5)
// perform subtraction;
else if(abc==5)
// perform addition;
else if(abc>5)
// perform multiplication

现在我想要的是根据变量 abc 的值执行操作 将运算符自身分配给某个变量,然后使用该变量代替运算符,这样我就可以减少一些代码,并且只能使用一个代码块代替 3 或 5 个代码块。 像这样

var sign;
var result;
if(some condition)
sign = "-";
result = 5 sign 4;

我想主要用 javascript 来做这件事。

最佳答案

将你想在不同的函数中使用运算符的几个操作重构为不同的函数,然后你可以传递不同的函数,这取决于你想做什么(策略模式)

工作示例:

function multiply(a, b) {
    return a * b;
}
function substract(a, b) {
    return a - b;
}
function add(a, b) {
    return a + b;
}

var sign;
var result;
var abc = 10;
if( abc < 5 ) {
    sign = substract;
}else if( abc == 5 ) {
    sign = add;
}else if( abc > 5  ) {
    sign = multiply;
}

result = sign(5, 4);

关于javascript - 用javascript中的变量替换运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9988942/

相关文章:

c++ - static_cast 的神秘行为

c++ - 运算符 == 错误

java - 如何在 Java 中创建包含运算符的变量?

c++ - 运算符重载的基本规则和惯用法是什么?

javascript - Internet Explorer 中的 HTML5 拖放问题(无法访问 dataTransfer 属性)

javascript - 复杂的 json ng-repeat

javascript - 如何比较 dd/mm/yyyy 格式的两个不同日期

具有变量名称的 Javascript 对象属性

javascript - 光泽热图 Highcharts

java - 在类中表示数学运算符