一直我以为下面这种写法是字典类型:
tt=new Array()
tt["mon"]=0
tt["tue"]=1
最近突然想到javascript应该也是有for...in这样的东西的吧,原来确实是有的。for...in的syntax是这样的
for (variable in object)
{... }
所以这货还是可以用来获取对象属性的?然后自己试了半天也没法把对象属性的值给弄出来,直到看到下面这里的例程:
for (var prop in obj) {
console.log("obj." + prop + " = " + obj[prop]);
}
关键的地方就是obj[prop]
,所以说我们之前的tt["mon"]也是在用mon这个属性名称获取对应的值了?所以当我们设置tt["mon"]=1以后,tt这个数组的length并没有增加,因为我们没有往里面加元素,而是设置了tt这个对象的一个属性而已。
bottom line: 如果要获取对象一个属性的值:
object["property"]
,如果要对一个对象的所有属性进行遍历for(var prop in obj){...},通过设置一个对象的属性,我们可以实现一个类似字典的东西。