是否可以将加法和减法结合到一个函数中?

时间:2015-03-12 20:36:56

标签: javascript

我有两个按钮,一个调用minus(val),另一个调用plus(val)功能。

function minus(val) {
    val <= 1 ? width = 1 : width = val - 1;
}

function plus(val) {
    val >= 5 ? width = 5 : width = val + 1;
}

是否可以将这两种功能合二为一?所以我可以在每个按钮上调用一个函数,比如changeValue(val);

提前致谢。

2 个答案:

答案 0 :(得分:3)

  

是否可以将这两个功能合并为一个?

没有。他们做不同的事情,例如当您使用值3调用它们时。

如果你将它们简化为

,你会发现更好
function minus(val) {
    width = Math.max(1, val - 1);
}
function plus(val) {
    width = Math.min(5, val + 1);
}

当然,您可以使用带有第二个参数的函数来决定要执行的操作。它可能是

function changeValue(val, dir) {
    width = Math.min(5, Math.max(1, val + dir));
}

您可以同时将其称为changeValue(val, +1)changeValue(val, -1)

或者立即使用更具描述性的名称:

limitedWidth(val) {
    width = Math.min(5, Math.max(1, val));
}
// limitedWidth(val + 1)
// limitedWidth(val - 1)

答案 1 :(得分:0)

function changeValue(val){
  if(val > 5){ };
  else if(val < 1){ };
}

你可以得到其余的吗?