javascripts中的变量在函数调用时如何处理?
例如,如果我有一个函数,其中包含某个变量javascripts中的变量在函数调用时如何处理?,javascript,jquery,Javascript,Jquery,例如,如果我有一个函数,其中包含某个变量 var test = 3; function looper(){ var testing = 1; testing += testing; } for (var i=0;i<=10,i++){ looper(); alert(test); } var检验=3; 函数活套(){ var检验=1; 测试+=测试; } 对于(var i=0;i 除此之外,我可以获得传递到函数中
var test = 3;
function looper(){
var testing = 1;
testing += testing;
}
for (var i=0;i<=10,i++){
looper();
alert(test);
}
var检验=3;
函数活套(){
var检验=1;
测试+=测试;
}
对于(var i=0;i
除此之外,我可以获得传递到函数中的测试变量的值吗
或者需要将其作为参数传递
是的,试试看
var test = 3;
function looper(testing)
{
testing += testing;
return testing;
}
for (var i=0;i<=10,i++)
{
test = looper(test);
alert(test);
}
var检验=3;
功能活套(测试)
{
测试+=测试;
回归测试;
}
对于(var i=0;ivar test=3;
var检验=1;
函数活套(){
测试+=测试;
回归测试;
}
对于(var i=0;i您有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?
var testing=3;//不是“test”而是“testing”!!!!!
函数活套(){
测试+=测试;
}
对于(var i=0;i变量测试是全局声明的,因此值3显示为警报。
在函数循环器的每次调用中,变量测试都是在不保留以前的值的情况下创建的,并以这种方式分配值1。在函数调用中,测试值始终为2。var
变量是函数范围的。dude首先更改(var i=0;我感谢您的帮助,只是为了确保我能很好地理解最新的计算测试变量,我应该把它放在函数外部,JavaScript可以很容易地从外部函数读取变量
var testing = 3; // NOT "test" but "testing"!!!!!
function looper(){
testing += testing;
}
for (var i=0;i<=10,i++){
looper();
}
alert(testing); // "testing", remember?