当对象以数字为属性名时,其实就是一个数组,用[’’]
var foo={1:'a',2:'b'}
foo['1']='c'
console.log(foo) // { 1: "c", 2: "b" }
当对象以字符为属性名时,直接用.获取属性值
var bar = {a:1,b:2,c:3}
bar.a= 'hello';
console.log(bar) //{ a: "hello", b: 2, c: 3 }
其中就是[]与.的区别,中括号运算符[]
可以存取数组元素值,使用点运算符.
可以存取对象属性值。
搜了一波有的用Object.defineProperty,有的解构重新创建了一个新对象obj,然后用obj.[‘Property’]=val,返回这个对象