首先,我们知道:
js对象中取属性值(.)和[]的区别
“。” 一般作为静态对象来访问属性。 动态访问属性时,“[]”符号非常有用。 喜欢:
var object = {name:'xiaoming',age:29};
var name1 = object.name;
var name2 = object['name'];
区别:
相似之处:可以获取obj的属性值
不同之处:
1 [ ]运算符可以使用字符串变量的内容作为属性名,点运算符不能
2 [ ]运算符可以用纯数字作为属性名,点运算符不能
3 [ ]运算符可以用js关键字和保留字作为属性名,点运算符不能
引用一下别人的图片:
这里data.water输出undefined是因为当对象使用(.)获取属性值时,这里的water并不是使用的变量waterhtml链接的目标属性值,而是直接在data对象中查找名为water的键。 没有找到,所以报undefined。
例如:
1[] 运算符可以使用字符串变量的内容作为属性名称,但点运算符不能:
这里因为变量的var声明的变量会导致变量自增,所以会报undefine。
2[] 运算符可以使用纯数字作为属性名称html链接的目标属性值,但点运算符不能
摘要:对于普通常量,使用 (.) 运算符,对于其他常量,使用 [] 运算符。