天天看点

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

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

继续阅读