JavaScript中括号“[]”的多义性


  本文标签:JavaScript

  JavaScript中括号有四种语义

  语义1,声明数组

  1. var ary = []; // 声明一个空数组  
  2. var ary = [1,3]; // 声明一个数组,同时赋初值 

  语义2,取数组成员

  1. var ary = [1,2,3];  
  2. var item = ary[0]; 

  语义3,定义对象成员 (可以不遵循标识符规则 )

  1. var obj = {};  
  2.  
  3. // 为obj添加一个属性name,name是合法的标识符,即也可以通过obj.name方式来定义  
  4. obj[name] = jack;   
  5.  
  6. // 为obj添加一个属性2a,2a不是合法的标识符(不能以数字开头),不能通过obj.2a来定义  
  7. obj[2a] = test;  

  语义4,取对象成员

  1. var obj = {name:jack};  
  2. obj[2a] = test;  
  3.  
  4. obj[name]; // --> jack  
  5. obj[2a]; // --> test (不能通过obj.2a获取) 

  原文链接:http://www.cnblogs.com/snandy/archive/2011/03/08/1977070.html