js对象中属性调用.和[] 两种方式的区别
JS 调用属性一般有两种方法——点和中括号的方法。
标准格式是对象.属性(不带双引号),注意一点的是:js对象的属性,key标准是不用加引号的,加也可以,特别的情况必须加,如果key数字啊,表达式啊等等。
加引号是为了将其视为整体,认识一点:从对象角度,属性是不加引号的,如name,"name"这是啥,属性不可能是“name”,所以即使加了双引号,对象调用时还是要去掉引号的
例如
使用.方法
var obj = { name: "cedric" } console.log(obj.name); // cedric
使用 [ ] 方法
var obj = { name: "cedric" } console.log(obj["name"]); // cedric
点方法是在对象名后面跟上属性名,而中括号方法里的索引存放的与属性名字相同的---字符串 。
二者区别
1.点方法后面跟的必须是一个指定的属性名称,而中括号方法里面可以是变量。例如
var haha = "name"; console.log(obj.haha); // undefined console.log(obj[haha]); // cedric
2.中括号方法里面的属性名可以是数字,而点方法后面的属性名不可以是数字
3.当动态为对象添加属性时,必须使用中括号【】,不可用点方法
转:https://www.cnblogs.com/ll15888/p/11904707.html