“.”和"[]"作用完全相同,但是,有几点需要注意
- 一般建议使用“.”,这样比较接近其他面向对象的写法,易读
- 如何属性名是动态的,比如变量中,只能使用“[]”写法,如:
var obj = { name : "wang"};
var attr = "name";
console.log(obj[attr])
这种情况下使用"."的写法就是不可以的
- 如果属性名中包含会导致语法错误的字符,也只能使用“[]”的写法
var person = {"na,me":"myName"};
console.log(person['na,me'])