动态Javascript变量名
可能重复:动态Javascript变量名,javascript,Javascript,可能重复: 我可以要一个类似于Jquery的东西吗 for(var i=0;i<10;i++) { var (eval(i+17)) = y; y++; } for(var i=0;i这里的正确答案是使用数组: var arr = []; for (var i = 0; i < 10; i++) { arr[i + 17] = y; y++; } 但这意味着您正在使用随机变量名在整个范围内跺脚。请将它们放在一个数组中。这里的正确答案是使用数组: va
我可以要一个类似于Jquery的东西吗
for(var i=0;i<10;i++)
{
var (eval(i+17)) = y;
y++;
}
for(var i=0;i这里的正确答案是使用数组:
var arr = [];
for (var i = 0; i < 10; i++) {
arr[i + 17] = y;
y++;
}
但这意味着您正在使用随机变量名在整个范围内跺脚。请将它们放在一个数组中。这里的正确答案是使用数组:
var arr = [];
for (var i = 0; i < 10; i++) {
arr[i + 17] = y;
y++;
}
但这意味着你用随机变量名在你的作用域上到处跺脚。把它们放在一个数组中。实际上,你不必使用数组。你也可以使用对象
var y = 0;
var obj = {};
var arr = [];
for (var i = 0; i < 10; i++) {
obj[i + 17] = y
arr[i + 17] = y;
y++;
}
console.log(obj);
console.log(arr);
要使用的JSFiddle是
使用对象的附加好处包括:
- 您的
obj
var的大小应该小于arr
变量,因为它没有“未使用的索引”
- 您可以随意命名动态变量,而不是数组,数组必须是整数
以下操作适用于对象,但无法向数组中添加任何变量:
var y = 0;
var obj = {};
var arr = [];
for (var i = 0; i < 10; i++) {
obj['my variable' + (i + 17)] = y
arr['my variable' + (i + 17)] = y;
y++;
}
而且arr
将为空:[]
实际上,您不必使用数组。您也可以使用对象
var y = 0;
var obj = {};
var arr = [];
for (var i = 0; i < 10; i++) {
obj[i + 17] = y
arr[i + 17] = y;
y++;
}
console.log(obj);
console.log(arr);
要使用的JSFiddle是
使用对象的附加好处包括:
- 您的
obj
var的大小应该小于arr
变量,因为它没有“未使用的索引”
- 您可以随意命名动态变量,而不是数组,数组必须是整数
以下操作适用于对象,但无法向数组中添加任何变量:
var y = 0;
var obj = {};
var arr = [];
for (var i = 0; i < 10; i++) {
obj['my variable' + (i + 17)] = y
arr['my variable' + (i + 17)] = y;
y++;
}
而arr
将是空的:[]
…嗯?这个问题毫无意义。您的代码对我们来说毫无意义。您正在尝试执行var eval(17)=y;
这会变成var 17=y;
。这没有意义,也不是合法的javascript。请澄清您真正想做什么……嗯?这个问题没有意义。您的代码对我们没有意义。您正在尝试做var eval(17)=y;
将变成var 17=y;
。这没有意义,也不是合法的javascript。请澄清您真正想做的事情。+1对于对象,它们确实更适合用于非顺序键或非数字键。+1对于对象,它们确实更适合用于非顺序键或非数字键是的。