原来对{}方式建立的实例化后的对象的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的方法 string 15
总结,那个key都是string类型,如果是对象等,会调用toString的方向显示。
关于对象字面量花括号{} key的类型,布布扣,bubuko.com
原文:http://www.cnblogs.com/danghuijian/p/3818981.html