javascript关联数组初始化错误?

时间:2010-01-11 18:03:53

标签: javascript

<script>
var tids = {
308: 1,
312: 1,
313: 1,
314: 1
};
</script>

导致XML表达式中的“missing”,箭头指向JS错误控制台中的第一个冒号。这不是一个有效的声明吗?

4 个答案:

答案 0 :(得分:8)

首先,您应该将<script>标记修复为

<script type="text/javascript">

接下来,如果要使用数字索引,请尝试将它们声明为字符串:

var tids = {
'308': 1,
'312': 1,
'313': 1,
'314': 1
};

但请注意,您将无法以对象表示法(即tids.308)引用它们。您可以简单地使用数组而不是对象:

答案 1 :(得分:1)

这不是一个关联数组 - 它只是一个JS对象。我相信你需要制作键字符串而不是数字。

var tids = {
"308": 1,
"312": 1,
"313": 1,
"314": 1
};

More info关于关联数组与常规对象。

答案 2 :(得分:0)

我猜密钥不能以数字开头。尝试;

<script>
var tids = {
n308: 1,
n312: 1,
n313: 1,
n314: 1
};
</script>

答案 3 :(得分:0)

我已经在IE和FF中尝试过并且代码很好。它应该是其他代码的错误。

请使用Firefox Web Developer和Firebug查找错误来源。