Javascript语法清理完毕

时间:2015-10-10 00:11:46

标签: javascript syntax

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

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

}

当我运行它时,它打印undefined。我不明白为什么它不打印价值。当我输入

console.log(prop);

打印

name
age

难道这并不意味着道具是我的一个领域吗?所以不应该是me.prop(当prop是名字时),像my.name那样工作吗?

2 个答案:

答案 0 :(得分:2)

您正在寻找的语法是me.prop
me['prop']相当于name,这不是您想要的 请注意,在ageme.age之前,您没有为me.name或{{1}}分配值。

答案 1 :(得分:2)

prop是一个包含字符串的变量,因此您需要使用me[prop],如下所示:

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

当您的媒体资源名称位于变量中时,您需要使用[prop]语法,在您的情况下me[prop]

仅供参考,me.prop尝试访问名为"prop"的媒体资源。它不使用变量prop的内容。当属性名称是在代码分析时已知的常量以及属性中的字符在Javascript点语法中合法使用时,您只能使用点语法来访问属性。如果它在一个变量中(或者它包含像.或空格这样的字符),那么你必须使用括号语法来获取变量的内容并使用该属性名称。