JS修改对象属性的值

当对象以数字为属性名时,其实就是一个数组,用[‘’]

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,返回这个对象

查看评论