-1

これが主な問題です。

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

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

オブジェクトの一部に到達できないのはなぜですか??

変数を数字で始めることはできませんが、オブジェクトの部分で始めることはできます。

4

3 に答える 3

5

使用するだけです:

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

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

またはobj[32]- は32文字列に変換され、 を使用した場合とまったく同じように検出され"32"ます。

プロパティ名でオブジェクトにアクセスするには、ブラケット表記 (私が提案したもの) とドット表記 (使用しているもの) の 2 つの方法があります。ドット表記では、有効な識別子を使用する必要がありますが、これ32は...できないのと同じですvar 32 = "whatever";

参照:

于 2013-05-09T15:36:58.253 に答える
-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);

  });
于 2013-05-09T15:39:56.673 に答える
-1

JavaScript 識別子は、文字、アンダースコア ( _)、またはドル記号 ( $) で始まる必要があります。JavaScript では、識別子を数字で始めることはできません。

既に述べたように、配列構文を使用してオブジェクト プロパティにアクセスします。obj["32"]

于 2013-05-09T15:41:24.670 に答える