如何在函数调用时处理 javascript 中的变量
How the variable in javascripts is treated on function call?
如果我有一个函数,例如其中包含某些变量
var test = 3;
function looper(){
var testing = 1;
testing += testing;
}
for (var i=0;i<=10,i++){
looper();
alert(test);
}
如果在循环中调用此函数,则每个函数都将获得 2 的测试值,或者它正在更新到上次执行的值? 此外,我可以获取传递给函数的测试变量的值还是需要将其作为参数传递?
除了我可以获取传递给函数的测试变量的值吗 还是需要将其作为参数传递?
是的,请尝试
var test = 3;
function looper(testing)
{
testing += testing;
return testing;
}
for (var i=0;i<=10,i++)
{
test = looper(test);
alert(test);
}
你已经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?
变量测试是全局声明的,因此值 3 显示在警报中。在每次调用函数循环器时,变量测试是在不保留先前值的情况下创建的,并以这种方式分配值 1,则在函数调用时测试的值始终为 2。
var test = 3;
var testing = 1;
function looper(){
testing += testing;
return testing;
}
for (var i=0;i<=10,i++){
test = looper();
alert(test);
}
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量