JavaScript -对象失败

JavaScript - Object failing

本文关键字:失败 对象 JavaScript      更新时间:2023-09-26

这是主要问题:

var obj = {
  "22": false,
  "32": true,
}
console.log(obj.32) //<---- NOT WORKING??!?!?!

为什么我够不到物体的一部分??

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

直接使用:

console.log(obj["32"]);
演示:

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

obj[32] - 32将被转换为字符串,并且将发现与使用"32"相同。

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

参考:

  • JavaScript属性访问:点符号vs.括号?

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

将键改为string

 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);
  });

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

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