0
var person={fname:"John",lname:"Doe",age:25};
person.fname; //it gives a output John

for (x in person)
  {
  alert(person[x]); //works fine
  person.x;    //incorrect why???
  }

誰かがこの背後にある正確なロジックを説明できますか?

4

3 に答える 3

0

これは、オブジェクト personの xプロパティ (たとえば person={x:100,y:65} の場合)にアクセスするか、文字列x の値であるプロパティにアクセスするかを Javascript が決定できないためです。

  • person[x] は x をその値に評価します
  • person.x はプロパティ x を取得します
于 2013-07-16T09:39:02.590 に答える