字数
199 字
阅读时间
1 分钟
先看测试用例:
js
var stooge = {
"first_name" : "Jeo",
"second_name" : "Mike"
};
var copy = {
first_name : "Jeo",
second_name : "Mike"
};
if (stooge.first_name === copy.first_name) document.write('I am right');
else document.write('Wrong!');
// 结果为 right此时,调用对象 stooge 的属性名的时候,有两种写法:
- 第一种 stooge.first_name 还是 stooge."first_name" ?
- 第二种 stooge[first_name] 还是 stooge["first_name"] ?
实验结果表明:
第一种 stooge.first_name
应该这么写,也就是说,这种写法也是默认支持不用引号括起来属性名
第二种 stooge["first_name"]
此种写法类似数组,一定要在 [] 中加入对应有引号的字符串,才能识别出键
这意味着下面这种写法是错误的:
js
const arr = Object.keys(stooge); // [ 'first_name', 'second_name' ]
const v = arr[0];
console.log(typeof v) // string
console.log(stooge.v) // undefined