一段经典的javascript代码分析
var collection = (function () {
var keys = [], values = [];
return {
get: function (key) {
var at = keys.indexOf(key);
if (at >= 0) {
return values[at];
}
},
set: function (key, value) {
var at = keys.indexOf(key);
if (at < 0) {
at = keys.length;
}
keys[at] = key;
values[at] = value;
},
remove: function (key) {
var at = keys.indexOf(key);
if (at >= 0) {
keys.splice(at, 1);
values.splice(at, 1);
}
}
};
}());
这个类相当于定义了一个静态集合类,可以直接通过collection去添加和删除元素。
函数内部直接返回一个对象 return {};而这个对象里面又包含三个方法,这三个方法可以通过这个静态的对象来访问!
唯一有点不明白的地方就是这样定义的意思:
var collection = (function () {}());
等待更深入一层的时候再进行分析!