首页 > 代码库 > 关于对象字面量花括号{} key的类型

关于对象字面量花括号{} key的类型

原来对{}方式建立的实例化后的对象的key,理解不清,只知道,数组加不加“”,反正都是字符,现在要理解下,到底怎么回事?返回结果是

var a={};a[1]="a";a["1"]=1;a["‘1‘"]="aa";a["b"]=2;a[{1:2}]=3;console.log(a);for(var i in a){	console.log(i);	console.log(typeof i);	console.log(i.length);}

  

 

Object {1: 1, ‘1‘: "aa", b: 2, [object Object]: 3} 1 //会把第一个没有加“”的覆盖string 1‘1‘ string 3   //单引号算长度了b string 1 [object Object]  //将那个对象,调用了toString的方法string15 

 

总结,那个key都是string类型,如果是对象等,会调用toString的方向显示。