区别:
相同点:都可以获取到obj的属性值
不同点:
1 [ ]运算符可以使用字符串变量的内容作为属性名,点运算符不能
2 [ ]运算符可以用纯数字作为属性名,点运算符不能
3 [ ]运算符可以用js关键字和保留字作为属性名,点运算符不能
var obj = {};
obj.name = 'ygg';
var a = 'name';
console.log(obj[a]); // ygg
// 这个写法等同于
console.log(obj['name']); // ygg;
// 如果这样子写的话就会输出undefined了
console.log(obj[name]); // undefined
// 因为name不是一个变量,所以输出undefined
网友评论