· 中括号方式能代替所有的点方式;反之不行
1.中括号方式——》可以使用变量间接得到对象属性的名;
点方式——》点后只能直接跟对象的属性名。
var json={
name:“mini”,
age:“14”
}
//这里的key是一个变量名,存储的是对象的属性名;
for(var key in json) {
console.log(key);
console.log(json[key]); //解释:key=“name” ;json[key]=>json[“name”]=“mini”
}
输出:name
mini
age
14
-----------------------------------------------------
for(var key in json) {
console.log(key);
console.log(json.key); //解释:把key当作属性名,json中没有名为key的属性——》undefined
}
输出:name
undefined
age
undefined
2.中括号方式——》可使用关键字、保留字、数字等作为属性名访问;
点方式——》不行
3.中括号方式——》属性名为字符串表示,可以随时改变