This question already has answers here:
JavaScript property access: dot notation vs. brackets?
                                
                                    (13个回答)
                                
                        
                        
                            Dynamically access object property using variable
                                
                                    (13个回答)
                                
                        
                                在11个月前关闭。
            
                    
谁能告诉我这为什么代码不起作用

 var person = {fname:"John", lname:"Doe", age:25};

 var text = "";
 var x;
 for (x in person) {
   text += person.x + " ";
 }
 document.getElementById("demo").innerHTML = text;


如果变量是

var person = {fname:"John", lname:"Doe", age:25, x:"male"};


并且不需要var x;

那就行了吧?

最佳答案

您需要使用括号符号中的键。您可以使用property accessor的两个版本:

object['key'] // bracket notation
object.key    // dot notation


只有第一个版本才能使用变量。变量的值必须是所需的键。



var person = { fname: "John", lname: "Doe", age: 25 },
    text = "",
    x;

for (x in person) {
    text += person[x] + " ";
}
document.getElementById("demo").innerHTML = text;

<div id="demo"></div>

09-30 16:40
查看更多