初学者,求指出错误,
这是我的理解:
当调用函数f1时,隐式全局变量num = 2会把头部声明的 var num =1 覆盖掉,
所以底部的console.log(num); 结果应该是 2 ,才对呀.
百思不得其解,求大神指点迷津,晚辈不胜感激!!!
var num = 1;
function f1(num) {
num = 2;
console.log(num);//2
}
f1(num);
console.log(num);//1
初学者,求指出错误,
这是我的理解:
当调用函数f1时,隐式全局变量num = 2会把头部声明的 var num =1 覆盖掉,
所以底部的console.log(num); 结果应该是 2 ,才对呀.
百思不得其解,求大神指点迷津,晚辈不胜感激!!!
var num = 1;
function f1(num) {
num = 2;
console.log(num);//2
}
f1(num);
console.log(num);//1
时光冉冉,今天回看当时这个问题,可以从两点进行分析:
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
funciont 里面那个不是全局变量,是函数参数。
函数参数跟全局的 num 是两个不同的变量,改变函数参数不会改变全局变量。