为什么调用increment函数后全局变量还是5?预先感谢您的任何帮助。
<script>
function increment(val) {
val+=1;
}
var val = 5;
increment(val);
alert(val);
</script>
最佳答案
function increment(val) {
val+=1;
}
声明一个函数的本地变量val
。您更改的是本地变量,而不是外部变量。与
function increment(val2) {
val2+=1;
}
你可以这样做:
function increment(val) {
return val+1;
}
var val=5;
val = increment(val);
或
function increment(holder, varname) {
holder[varname] = holder[varname]+1;
}
var val=5;
increment(window, 'val');
关于javascript - 为什么调用函数增加全局变量后它仍然保持不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15021606/