Javascript 语法清理
Javascript syntax clear up
var me = new Object();
me.name = "Adithya";
me.age = 15;
for(var prop in me){
console.log(me.prop);
}
当我运行这个时,它打印未定义。我不明白为什么它不打印值。当我输入
console.log(prop);
它打印
name
age
那不是说prop是我的一个领域吗?所以 me.prop(when prop is name) 不应该像 me.name 那样工作吗?
您要查找的语法是 me[prop];
me.prop
等同于 me['prop']
这不是你想要的。
请注意,在 me.age
和 me.name
.
之前,您没有为 name
或 age
赋值
prop
是一个包含字符串的变量,因此您需要像这样使用 me[prop]
:
for(var prop in me){
console.log(me[prop]);
}
当您的 属性 名称在变量中时,您需要使用 [prop]
语法,在您的情况下为 me[prop]
.
仅供参考,me.prop
尝试访问名为 "prop"
的 属性。它不使用变量 prop
的内容。当 属性 名称是代码解析时已知的常量并且 属性 中的字符在Javascript 点语法。如果它在一个变量中(或者如果它包含像 .
或 space 这样的字符),那么你必须使用方括号语法来获取变量的内容并使用 属性名字.
var me = new Object();
me.name = "Adithya";
me.age = 15;
for(var prop in me){
console.log(me.prop);
}
当我运行这个时,它打印未定义。我不明白为什么它不打印值。当我输入
console.log(prop);
它打印
name
age
那不是说prop是我的一个领域吗?所以 me.prop(when prop is name) 不应该像 me.name 那样工作吗?
您要查找的语法是 me[prop];
me.prop
等同于 me['prop']
这不是你想要的。
请注意,在 me.age
和 me.name
.
name
或 age
赋值
prop
是一个包含字符串的变量,因此您需要像这样使用 me[prop]
:
for(var prop in me){
console.log(me[prop]);
}
当您的 属性 名称在变量中时,您需要使用 [prop]
语法,在您的情况下为 me[prop]
.
仅供参考,me.prop
尝试访问名为 "prop"
的 属性。它不使用变量 prop
的内容。当 属性 名称是代码解析时已知的常量并且 属性 中的字符在Javascript 点语法。如果它在一个变量中(或者如果它包含像 .
或 space 这样的字符),那么你必须使用方括号语法来获取变量的内容并使用 属性名字.