浅淡,真的是很浅。Orz..
先摆出定义,这里的字典是啥样的?
是以键-值对形式保存数据的一种结构。
现实中比较典型的例子,就是以前的电话本。你想找一个单位的电话,就先找那个单位的名字,名字如果找到了,你也就找到了它的电话号。
这里你查找的“单位的名字”,就是键;它的电话号,就是值。
JavaScript中的Object对象,它就是以字典的形式被设计出来的。例如:
var obj = {
name : '张三'
}
这就是一个对象了,它的键是name;它的值是张三,它俩放在一起就是一个键值对。
现在来实现一个简单的dict类:
然后再添加一个count()方法,用来统计数量的。
这个count()方法,相信各位读者都能正确的,把它添加到Dict中并被正常调用的。
在这个count()方法中,我们可以看到,虽然是使用了for循环,但并没有使用常见的[]进行键值的引用 ,而是使用了(),并且也没有常见的...keys[i]的键值引用写法,而是使用了Object.keys(obj),这个方法的参数是一个对象,返回值是获得这个对象的所有可枚举的属性。
在本例中,obj就是this.store,自然就输出了add()方法添加的内容了。
这个方法是定义ECMAScript5中的,直到现在,依然也不是所有的浏览器都支持它。但是现在ECMAScript6都已经出来了。。。
不管怎么样,现在已经是用JS实现了一个数据结构-字典了。