这里的key没有引号啊,为什么用user[key]啊?用user.key就是undefined
在JS中,有两种方式访问对象属性:
在述说区别:
再说通俗点,就是用"[]"可以用变量,而"."只能用属性名
例如定义一个对象:`
obj = {name="Test"}
console.log(obj.name);
console.log(obj["name"]);
// 也可以
var t = "name";
console.log(obj[t]);
回到你的问题:
另外要说一点,用"[]"的好处是当对象的属性比较特殊的时候,也可以取到,比如包含了特殊字符:
obj = {"com.abc":"Test"}
如果用"."取值,obj.com.abc就会报undefined,但是用obj["com.abc"]就可以访问!
因为你的key是变量,所以不能使用".",这个只能是在常量属性下才能使用的,你上面那个是使用了循环,使用了变量,所以只能使用user[key],而不能用user.key