我想在javascript中动态初始化变量数组。我不断收到意外的令牌非法令牌错误。
在我当前的脚本serviceLimit = 10;
中,但可以随时更改。
尝试#1
var jqSvcPhrase = {};
for(i=1; i<=serviceLimit; i++) {
jqSvcPhrase[+ i +] = ''; // produces - Uncaught SyntaxError: Unexpected token ]
}
尝试#2
var jqSvcPhrase = {};
for(i=1; i<=serviceLimit; i++) {
jqSvcPhrase\[+ i +\] = ''; // produces - Uncaught SyntaxError: Unexpected token ILLEGAL
}
尝试#3
var jqSvcPhrase = {};
for(i=1; i<=serviceLimit; i++) {
jqSvcPhrase\\[+ i +\\] = ''; // produces - Uncaught SyntaxError: Unexpected token ILLEGAL
}
答案 0 :(得分:1)
呃......所有+
的内容是什么?
var jqSvcPhrase = {};
for(i=1; i<=serviceLimit; i++) {
jqSvcPhrase[i] = '';
}
答案 1 :(得分:1)
i
是整数类型,因此不需要连接。试试这个:
var jqSvcPhrase = {};
for (i = 1; i <= serviceLimit; i++) {
jqSvcPhrase[i] = '';
}
答案 2 :(得分:1)
首先,您要声明一个对象而不是一个数组。
它应该是var jqSvcPhrase = [];
。
此外,不需要+
。它必须是jqSvcPhrase[i]
答案 3 :(得分:0)
为什么要使用花括号?使用方括号表示数组。
var jqSvcPhrase = [];
for(i=1; i<=serviceLimit; i++) {
jqSvcPhrase[i] = '';
}
答案 4 :(得分:0)
数组语法(Manual):
[element0, element1, ..., elementN] new Array(element0, element1[, ...[, elementN]]) new Array(arrayLength)
这应该是:
var jqSvcPhrase = new Array(serviceLimit);
初始化值是有意义的:
for (x in jqSvcPhrase) { x = ''; }