一段经典的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 () {}());

等待更深入一层的时候再进行分析!

posted @ 2010-05-06 17:17  我是小菜鸟  阅读(171)  评论(0编辑  收藏  举报