【发布时间】:2014-01-11 06:31:14
【问题描述】:
我试图理解.Notation 和[] 符号之间的区别。在下面的问题中,当我使用if (object[key] === true) 时,我得到了正确的答案。当我使用if (object.key === true) 时,它不起作用。有人可以解释为什么它不同。
var myObj = {
one: false,
two: false,
three: false,
four: true,
five: false,
six: false
};
var myFunc = function (object) {
for (var key in object) {
if (object[key] === true) {
return "There is a true value in this object";
} else {
}
}
return "Sorry, there are no true values in this object";
};
【问题讨论】:
-
永远不要将变量命名为
object -
在点表示法中,您按名称访问键,在括号表示法中按字符串访问键。后者可以是动态的。
-
@thefourtheye,为什么不应该将变量命名为对象?谢谢。
-
@jstone 有一个内置的 JavaScript 对象名为
Object,所以即使大小写不同,最好不要将变量命名为同名。
标签: javascript syntax brackets