var json={name:‘Sue’,age:24};
alert(json[name]); // 弹出 undefined
alert(json.name); // 弹出 Sue
这样定义了一个json,然后试着弹出json的值,结果我懵了,方括号竟然访问不了json的某一项!?
记得老师说过“能用方括号的地方不一定能用点,但能用点的地方都能用方括号”。然后我就懵的更彻底了!
分钟之后我突然明白了,老师说的没错,是我错了...................................................
其实json定义的时候json的每一项key的实质是一个string
也就是说json正儿八经的定义应该是这个样子的,每个key都该加上引号。
var json={'name':’Sue‘,'age':24};
(我们平时key不加引号的写法纯粹是懒了,但是又不会错。所以我被自己误导了。)
所以访问的时候就毫无疑问的应该这样访问,访问的时候key也就顺理成章的带着引号。
alert(json[‘name’]); // 弹出 Sue
挖个坑把自己埋了算了...