javascript - 是否可以将加法和减法合并为一个函数?

标签 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);

提前致谢。

最佳答案

Is it possible to combine both these functions into one?

没有。他们做不同的事情,例如当您使用值 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)

关于javascript - 是否可以将加法和减法合并为一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29019718/

相关文章:

javascript - MongoDB:对文档集进行设置操作,如何?

javascript - vuejs中通过变量动态调用方法

Javascript:从 2 个数组中查找不匹配的对象

javascript - 从 XMLHttpRequest 检索响应负载元素

javascript - Ajax 追加问题

javascript - 如何覆盖 grunt-cli 中的 grunt 任务选项?

javascript - 在 AppModule 中导入不必要的模块是否会降低 Angular 2 应用程序的速度?

php - 想要从 textarea 获取 <br> 标签,尽管根本没有其他 HTML

javascript - Emberjs Controller 目标指向错误的路线

javascript - 更新点