【发布时间】:2013-02-09 08:13:41
【问题描述】:
我的代码将数字递增或递减 1。问题是“testNum”,它是一个全局变量,应该反映递增或递减,但是当我在控制台中检查“testNum”的值时,它始终是 20。我将“testNum”传递给我的函数并返回它。为什么不反映增量?
小提琴:http://jsfiddle.net/FnUXw/1/
<input type="button" id="btnDown" value="-">
<span id="amountDiv">amount div</span>
<input type="button" id="btnUp" value="+">
<script>
var testNum = 20;
amountDiv.innerHTML = testNum;
function makeButtonIncrement(button, upDown, displayDiv, variable) {
function changeValue () {
if (upDown == "up") {
variable++;
}
if (upDown == "down") {
variable--;
}
displayDiv.innerHTML = variable;
}
button.onclick = changeValue;
return variable;
}
makeButtonIncrement(document.getElementById('btnDown'), "down", document.getElementById('amountDiv'), testNum);
makeButtonIncrement(document.getElementById('btnUp'), "up", document.getElementById('amountDiv'), testNum);
</script>
【问题讨论】:
-
如果是全局变量,为什么还要传入变量
-
@ParvSharma 我想在整个代码中将此函数与不同的按钮和变量一起使用。
-
要访问的变量是全局变量有什么关系?
标签: javascript variables namespaces global-variables