var a = {name:"John", lastName:"Willow"};
console.log(a.name + " " + a.lastName);
console.log(a["name"] + " " + a["lastName"]);
我何时必须使用a["name"]
- 使用括号而不是a.name
调用方法?
我在网上阅读了一些内容,但我并不了解这两种调用方法之间的区别。
请帮忙!
答案 0 :(得分:0)
简单地说,您使用括号来引用数组项(name
是关键字)。您可以使用点来引用对象属性。
在您的示例中,您处理对象,因此使用a.name
和a.lastName
是一种很好的方法。
答案 1 :(得分:0)
使用括号表示法,您可以使用任何字符串作为键。使用点,您只能使用常量。考虑这个人为的例子:
var box = { x1: 20, y1: 10, x2: 30, y2: 50 }
function getCoordinate(axis, index) {
return box[axis + index];
}
getCoordinate("x", 1);
// => 20
您不能使用点表示法执行此操作。同样,如果密钥包含任何不能包含在标识符中的字符,则不能使用点符号(a["="]
没关系,a.=
不是)。
但是,当您可以使用常量时,写a.name
比a["name"]
更舒适,更易读(它们在其他方面是等效的。)