ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
对象的属性可以通过两种方式进行访问: * obj.key1。key1为标识符。 * obj\[key2\]。key2为任意值。 ~~~ var obj = {}; obj.foo = 10; obj['foo'] = 20; console.log(obj.foo);//20 ~~~ 使用obj.key语法去访问一个属性时,key部分会有跟变量名一样的命名限制。 使用obj\[key\]则没有,甚至能通过变量传入键名。如: ~~~ var obj = {}; obj.*foo=10;//报错 var key = '***'; obj[key] = 666;//obj['***']为666 ~~~ 理论上,对象访问不同键名的属性都一样快,也不会因为属性数量的增长而变慢。详情自寻哈希表。 # delete 对一个对象不存的属性进行赋值,会为该对象添加属性。 对一个对象的属性使用delete关键字,则会从对象中删除该属性。 ~~~ var foo = {}; foo.x = {}; foo.y = foo.x; delete foo.x; console.dir(foo); ~~~ ![](https://box.kancloud.cn/0526b851375783063ec7b793ae2df77f_211x56.jpg)