使用点表示法时,
key表示对象中的实际属性,该属性将不存在。因此,
undefined返回不等于的
true。
使用
[]表示法时,您将使用变量中的名称访问对象中的属性
key。因此,这将起作用。
例如,
var myObj = { myVar : 1};for (var key in myObj) { console.log(key); console.log(myObj.key); console.log(myObj[key]);}这将打印,
myVarundefined1
因为,
myObj没有成员命名
key(
myObj.key尝试获取名称为的成员
key),而在下一种情况下,
myObj有成员命名为
myVar(
myObj[key]尝试获取具有in的值的成员
key)。
[]表示法
这提供了灵活性。您可以使用变量动态访问成员。



