js 对象的键名问题,

JavaScript09

js 对象的键名问题,,第1张

其实obj={1:'a',2:'b',a:1,b:2,c:3},obj={'1':'a','2':'b','a':1,'b':2,'c':3,}都是可以的,但是如果这样写obj={53ab,'a'}就会报错,带引号的他就是字符串你可以随意写,而不带引号,你写数字就只能写数字,字母就只能是字母,但是数字和字母不能结合!就这点区别

这个从理论上来说是不能修改数组或对象的键名的,因为键名是具有唯一性,如果键名修改了,那么会导致之后调用该键名的时候取到的值是undefined,所以理论上是不建议更改键名的。

但是,从实际应用来说,键名是可以修改的,因为一个键名对应一个值,你只要把该赋给一个新的键值,在删除原来的键值,那么就可以认为是修改了键名。

例如:

var obj = {"old":123}

obj.new = obj.old

delete obj.old