如果我的函数中有某个变量,例如
var test = 3;
function looper(){
var testing = 1;
testing += testing;
}
for (var i=0;i<=10,i++){
looper();
alert(test);
}
如果在循环中调用了这个函数,每个都会得到测试值为2或者它是否更新为最后执行的值?我可以获取传递给函数的测试变量的值,还是需要将其作为参数传递?
答案 0 :(得分:0)
旁边可以获得传递给函数的测试变量的值 或者需要将其作为参数传递?
是的,试试
Dim Result As Variant
Result = Split("Alice,Bob,Chuck,Dave", ",") 'Result: {"Alice,"Bob","Chuck","Dave"}
Result = Split("Alice,Bob,Chuck,Dave", ",", 2) 'Result: {"Alice,"Bob"}
答案 1 :(得分:0)
你有var testing = 1;
所以即使循环也总是一遍又一遍地实例化为1
。
您应将其移出功能范围:
var testing = 3; // NOT "test" but "testing"!!!!!
function looper(){
testing += testing;
}
for (var i=0;i<=10,i++){
looper();
}
alert(testing); // "testing", remember?
答案 2 :(得分:0)
变量测试是全局声明的,因此值3显示在alert上。 在每次调用函数looper的情况下,创建变量测试而不保留先前的值并以此方式分配值1,在函数调用中测试值始终为2。
答案 3 :(得分:-2)
var test = 3;
var testing = 1;
function looper(){
testing += testing;
return testing;
}
for (var i=0;i<=10,i++){
test = looper();
alert(test);
}