清除Javascript语法

清除Javascript语法,javascript,syntax,Javascript,Syntax,当我运行这个时,它会打印未定义的内容。我不明白为什么它不打印值。我打字的时候 var me = new Object(); me.name = "Adithya"; me.age = 15; for(var prop in me){ console.log(me.prop); } 它打印 console.log(prop); 这不意味着道具对我来说是一个领域吗?因此,我不应该使用.prop(当prop是name时)来像我一样工作吗?您要查找的语法是me[prop] me.pro

当我运行这个时,它会打印未定义的内容。我不明白为什么它不打印值。我打字的时候

var me = new Object();
me.name = "Adithya";
me.age = 15;

for(var prop in me){
    console.log(me.prop); 

}
它打印

console.log(prop);

这不意味着道具对我来说是一个领域吗?因此,我不应该使用.prop(当prop是name时)来像我一样工作吗?

您要查找的语法是
me[prop]
me.prop
等同于
me['prop']
这不是您想要的。

请注意,您以前在
me.age
me.name

prop
是一个包含字符串的变量,因此需要像这样使用
me[prop]

name
age
当属性名位于变量中时,需要使用
[prop]
语法,在您的情况下,该语法将是
me[prop]


仅供参考,
me.prop
尝试访问名为
“prop”
的属性。它不使用变量
prop
的内容。只有当属性名是代码解析时已知的常量,并且属性中的字符在Javascript点语法中合法使用时,才能使用点语法访问属性。如果它位于变量中(或者如果它包含
或空格之类的字符),则必须使用括号语法来获取变量的内容并使用该属性名。

for(var prop in me){
    console.log(me[prop]); 
}