JavaScript成员/属性如何工作?
使用以下语法创建的对象:JavaScript成员/属性如何工作?,javascript,Javascript,使用以下语法创建的对象:{prop1:val1,prop2:val2}与使用以下语法创建的对象:{'prop1':val1,'prop2':val2}之间有什么区别 还有,下面的代码是否有效 var val1 = 10, val2 = 15; var tmp1 = { prop1: val1 }; var tmp2 = { 'prop2': val2 }; alert(tmp1['prop1']); // I expect 10 alert(tmp2['prop2']); // I expect
{prop1:val1,prop2:val2}
与使用以下语法创建的对象:{'prop1':val1,'prop2':val2}
之间有什么区别
还有,下面的代码是否有效
var val1 = 10, val2 = 15;
var tmp1 = { prop1: val1 };
var tmp2 = { 'prop2': val2 };
alert(tmp1['prop1']); // I expect 10
alert(tmp2['prop2']); // I expect 15
旁白:对不起,我想不出一个更好的题目来回答我的问题。这反映了我缺乏JavaScript知识。没有任何区别,尽管字符串版本允许您使用无效字符作为标识符 可以使用字符串执行此操作:
{ 'prop-1': val1, 'prop-2': val2 }
但不是作为标识符:
{ prop-1: val1, prop-2: val2 }
是的,这段代码是有效的。在您的示例中没有区别。如果您的任何属性名称包含空格或特殊字符,或者是: 建议使用以确定JS代码段是否有效
{ prop1 with spaces: val1, 6prop2$-^: val2 } // illegal
{ 'prop1 with spaces': val1, '6prop2$-^': val2 } // correct