.
和 []
没多大区别,作用完全相同。但是
-
一般情况下建议使用
.
写法,这样比较接近其它语言的面向对象写法,易读 -
如果属性名是动态的(比如变量中),只能使用
[]
写法。如var person={name:"myName"}; var proName="name"; console.log(person[proName]);
-
如果属性名中包含会导致语法错误的字符,也只能使用方括号语法,如:
var person={"na,me":"myName"}; console.log(person["na,me"]);