我创建了一个带有加号和减号按钮的计数器。计数器工作正常,但我想通过向我的函数传递一个参数来简化我的代码,该函数根据单击哪个按钮执行加减计算。目前我有两个单独的函数来执行此操作,但我想传递“结果”变量,因为这是告诉我的脚本我是要加 1 还是减 1 的部分,但是我不确定如何执行此操作?
我在下面附上了我的 JavaScript,以展示我目前所拥有的。
document.getElementById('minus').onclick = function() {
var counter = document.getElementById('counter').innerHTML;
var parsed = parseInt(counter);
var result = parsed -1;
document.getElementById('counter').innerHTML = result;
}
document.getElementById('plus').onclick = function() {
var counter = document.getElementById('counter').innerHTML;
var parsed = parseInt(counter);
var result = parsed +1;
document.getElementById('counter').innerHTML = result;
}
最佳答案
您可以创建一个柯里化(Currying)函数来将您的增量值“烘焙”到点击处理程序中:
function changeCount(delta) {
return function () {
var counter = document.getElementById('counter').innerHTML;
var parsed = parseInt(counter);
var result = parsed + delta;
document.getElementById('counter').innerHTML = result;
}
}
document.getElementById('minus').onclick = changeCount(-1);
document.getElementById('plus').onclick = changeCount(1);
关于javascript - 如何创建一个带有传递参数的加号和减号按钮的计数器,这样我就不会同时使用两个单独的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57853200/