计算得来的属性

 如果需要使用表达式来创建属性键,那么需要使用方括号。否则属性名称不会进行计算:

 var obj = { 'b'+'ar': 'foo' };
// SyntaxError: missing : after property id 把计算表达式放置到方括号([])中: var obj = { ['b'+'ar']: 'foo' }; 例如: var keyMap = {
Ext.EventObject.LEFT: 'LEFT',
Ext.EventObject.RIGHT: 'RIGHT' }
SyntaxError: missing : after property id var keyMap = {
[Ext.EventObject.LEFT]: 'LEFT',
[Ext.EventObject.RIGHT]: 'RIGHT' }
undefined keyMap
{…}
37: "LEFT"
39: "RIGHT"
​ <prototype>: Object { … } ​或者使用下面方式: var keyMap ={};
undefined keyMap[Ext.EventObject.LEFT]='LEFT';
"LEFT" keyMap[Ext.EventObject.RIGHT]='RIGHT';
"RIGHT" keyMap
{…}
​ 37: "LEFT"
39: "RIGHT"
​ <prototype>: Object { … }
05-22 06:09