js获取变化的变量值

前言

最近养成了习惯变量前面加var,声明成局部变量。然后函数中各种传递,发现这样会导致无法获取已经变化的变量。如下题:

解决方法

去掉局部变量声明,改成全局变量。变量初始值定义在第一个函数里面,这样就能获取到了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function test1() {
for (i = 0; i < 3; i++) {
line ++;
}
WSH.Echo(line);
}

function test() {
line = 8;
for (var i = 0; i < 2; i++) {
/*我希望第二次再调用`test1`函数时,line不是从初始值8开始+。
而是从第一次加到的11时开始+,也就是11+3=14。
*/
test1();
}
}
test();