var b = '1';
如何使用变量 b 的内容创建变量名?我在每个循环中都这样做,所以 b 会改变。
我希望最终产品是这样的:
var trip1 = '';
我将如何完成这样的事情?
var trip + b = '';
var trip.b = '';
var b = '1';
如何使用变量 b 的内容创建变量名?我在每个循环中都这样做,所以 b 会改变。
我希望最终产品是这样的:
var trip1 = '';
我将如何完成这样的事情?
var trip + b = '';
var trip.b = '';
不,但是您可以使用对象的属性来做到这一点:
var obj = {};
obj.b = '1'
obj['trip' + obj.b] = '';
// or
var obj = {};
var b = '1'
obj['trip' + b] = '';
在 JavaScript 中,您可以通过两种方式访问属性:
使用点和文字属性名称,例如obj.trip1
.
使用方括号和字符串属性名称,例如obj['trip1']
.
在后一种情况下,字符串不必是字符串文字,它可以是任何表达式的结果,因此是上面的示例。
我在每个循环中这样做
由于您正在迭代它们,因此最好的方法是使用数组。
var trip = [1,2,3,4,5];
for (var i = 0; i < trip.length; i++){
alert(trip[i]);
}
为了解决您的问题,您可以将值存储为对象的属性:
var obj = {};
var b = '1';
obj['trip' + b] = "";
如果您在全局范围内执行此操作,您还可以将变量添加为全局对象的属性:
var b = '1';
window['trip' + b] = "";
trip1; // == ""
您可以使用如下动态键通过窗口对象访问全局变量:
var b = '1';
trip1 = 'hello';
console.log(window['trip'+b]);
听起来您正在寻找 eval() 方法。
var b = '1';
(eval('var trip'+b+' = 3')); // Is the same as writing var trip1 = 3;
console.log(trip1);
//Output of variable trip1 is 3
虽然,做一个快速谷歌搜索为什么 eval(); 在你使用这种技术之前是不好的。