一、如果是下面这样定义对象,两种方式都可以取到属性的值
var obj = {name:'张三',age:'18'};
obj.name; //点方法 张三
obj['name']; //中括号法 张三
二、其他方式
1、如果使用函数的形参作为属性名来访问对象的属性,只能用中括号法,点方法不可以;
let obj = { //属性名和变量名相同,简单化,直接写属性名(属性值是一个变量)
one:false,
fn(val) {
console.log(obj.val) //undefined
console.log(obj[val]) //false
}
}
obj.fn('one')
2、中括号法可以用数字作为属性名,而点语法不可以;
var obj = {
34: '张三'
};
console.log(obj[34]); //张三
3、如果是属性名中间有空格,访问的时候也只能用中括号访问;
var a = {
'first word': 'hello'
};
console.log(a['first word']) // "hello"
4、中括号法可以使用js的关键字和保留字作为属性名,而点语法不可以(尽量避免在变量或者属性中使用关键字或保留字);