记录,javascript中对象的属性名是字符串,却可以不用引号
问题描述:今日看书,里面介绍js的对象的属性名是包括空字符串在内的所以字符串
问题来了,我们平时定义的对象如下,是没有引号""or’'的
var someone = {
first_name : “Jeo”,
second_name : “Mike”
};
所以我写了以下程序测试,
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
也就是说,书上说的没错,是字符串,而且属性名是合法的(不是javascript的保留字)是允许不用引号括起来属性名
另外,我又注意到了,调用对象的属性名的时候,我们知道,有两种写法:
第一种stooge.first_name 还是 stooge.“first_name” 呢?
第二种stooge[first_name] 还是 stooge[“first_name”] 呢?
实验结果表明:
第一种stooge.first_name
应该这么写,也就是说,这种写法也是默认支持不用引号括起来属性名
第二种stooge[“first_name”]