Javascript中括号有四种语义
语义1,声明数组
var ary = []; // 声明一个空数组
var ary = [1,3]; // 声明一个数组,同时赋初值
语义2,取数组成员
var ary = [1,2,3];
var item = ary[0];
语义3,定义对象成员 (可以不遵循标识符规则 )
var obj = {};
// 为obj添加一个属性name,name是合法的标识符,即也可以通过obj.name方式来定义
obj['name'] = 'jack';
// 为obj添加一个属性2a,2a不是合法的标识符(不能以数字开头),不能通过obj.2a来定义
obj['2a'] = 'test';
语义4,取对象成员
var obj = {name:'jack'};
obj['2a'] = 'test';
obj['name']; // --> jack
obj['2a']; // --> test (不能通过obj.2a获取)
作者: snandy 原文链接