我目前正在尝试对给定值为零的变量执行一些简单的操作。首先,我声明一个变量并将其值设为(0)。其次,我正在创建一个函数,该函数在调用该函数时应该增加变量的值。这是我的代码:
var orderCount = 0;
function takeOrder(orderCount) {
return orderCount++;
}
takeOrder(orderCount);
takeOrder(orderCount);
alert(orderCount);
上面的代码段的预期结果为“ 2”,因为该函数被调用了两次,因此数字0应该增加两次。
我还尝试使用以下代码而不是上面发布的代码来递增变量“ orderCount”:
function takeOrder(orderCount) {
return orderCount + 1;
}
都不行。我究竟做错了什么?
最佳答案
从参数列表中删除orderCount
,并且在调用函数时不要将其作为参数。通过将其指定为参数,可以隐藏(隐藏)takeOrder
关闭的全局变量。
var orderCount = 0;
function takeOrder() {
// ^----- don't include `orderCount` as a parameter
return orderCount++;
}
takeOrder(); // <== don't specify it when calling the
takeOrder(); // <== function (though it would just be ignored)
alert(orderCount);
关于javascript - 如何创建一个递增全局值的函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47659555/