js对象添加属性 . 跟 [] 的区别
使用 对象. 添加属性
var obj={}
obj.name='xiaocai'
使用 对象[] 添加属性
var obj={}
var name='name'
obj[name]='xiaocai'
俩种方式都会为对象obj添加name属性,并赋值为xiaocai,区别是使用 [] 方式需要先定义name,否则会报错。
还有一种情况是当为对象obj添加的属性来自另一个对象时,只能使用 [] 方式添加属性,如下面代码
var obj={}
var obj1={
name:'name'
}
obj.obj1.name='xiaocai' //报错
obj[obj1.name]='xiaocai'//正确
总结:. [] 都可以为对象添加属性,一般是使用第一种方式,因为这种方式不必对属性名定义就可使用;而当要添加的属性来自另一个对象时,应该用第二种方式。