use*_*263 5 javascript variables for-loop
我正在尝试在循环内创建多个新变量。新变量的数量取决于另一个变量的长度(下面使用的变量“列表”)。
for(var i = 0; i < list.lenght; i++)
{
var counter + i; // create new variable (i.e. counter1, counter2,...)
}
Run Code Online (Sandbox Code Playgroud)
我在 StackOverflow 上发现了很多非常相似的问题,答案主要是使用数组(即如何在循环内创建动态变量名称?)。
如果我使用建议的解决方案,我是否创建了一个变量数组?所以在我的例子中,我将创建多个计数器,然后我可以向这些变量添加值,即:
counter6++;
Run Code Online (Sandbox Code Playgroud)
如果不是这样,我该如何解决这个问题?
我很抱歉要求您解释一个旧答案,但由于声誉低,我无法在旧答案中发表评论。
您在这里有一些选择:
将它们创建为全局的(不是最佳实践):
for(var i = 0; i < list.lenght; i++){
window['counter' + i] = 0; // create counter1, counter2,...)
}
Run Code Online (Sandbox Code Playgroud)
使用对象:
var scope = {};
for(var i = 0; i < list.lenght; i++){
scope['counter' + i] = 0; // create scope.counter1, scope.counter2,...)
}
Run Code Online (Sandbox Code Playgroud)
将对象与with关键字一起使用
var scope = {};
for(var i = 0; i < list.lenght; i++){
scope['counter' + i] = 0; // create scope.counter1, scope.counter2,...)
}
with(scope){
// here you can acesess keys in the scope object like them variable on the function scope
counter0++
}
Run Code Online (Sandbox Code Playgroud)
使用普通的旧数组
var scope = new Array(list.length);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8188 次 |
| 最近记录: |