JavaScript - 对象失败

时间:2013-05-09 15:36:12

标签: javascript object syntax

这是主要问题:

var obj = {
  "22": false,
  "32": true,
}

console.log(obj.32) //<---- NOT WORKING??!?!?!

为什么我不能到达对象的一部分?

我知道你不能用数字开始变量,但你可以使用对象部分,所以我怎么能读到这个呢?

3 个答案:

答案 0 :(得分:5)

只需使用:

console.log(obj["32"]);

DEMO: http://jsfiddle.net/WrzbV/1/

obj[32] - 32将转换为字符串,其位置与使用"32"相同。

有两种方法可以通过属性名称访问对象 - 括号表示法(我建议使用)和点符号(你正在使用的是什么)。使用点表示法,您必须使用有效的标识符,32不是......就像您不能做var 32 = "whatever";

参考:

答案 1 :(得分:-1)

您将无法访问带有数字的属性

将键更改为字符串

 var obj = {
    "i": false,
    "j": true,
}

 console.log(obj.i);
 console.log(obj.j);

或使用

console.log(obj["32"])

或者,如果你可以使用jQuery,那么使用

  $.each(obj, function(key,value){

    console.log(key +' --  '+ value);

  });

答案 2 :(得分:-1)

JavaScript标识符必须以字母,下划线(_)或美元符号($)开头。 在JavaScript中,标识符不能以数字开头。

如前所述,使用数组语法将对象属性作为obj["32"]

进行访问