数据字典在Javascript
语言里面随处可见,对象本身就可以看成一个数据字典,通过给对象设置属性与方法,达到一个字典的目的。
var dict = new Dict();
obj.pro1 = "hello world!!!";
obj.pro2 = function () {
console.log("I'am pro2");
};
先来看一个常见的数据字典的设计:
function Dict() {
}
Dict.prototype.count = function() {
let n = 0;
for(let k in this) {
n++;
};
return n;
};
//
let dict = new Dict();
dict.paul = 3;
dict.lebron = 23;
dict.count() // 3
为什么给设置了两个属性,通过count
计算得出的结果是3
呢?这里比较容易看出来,因为for in
会遍历原型链上的可枚举的属性,例如上面的count
方法。为了避免这种由于遍历原型链导致的