一段经典的javascript代码分析

本文介绍了一种使用JavaScript实现自定义集合类的方法,该类支持添加、获取和删除元素的操作。通过立即执行函数表达式(IIFE)创建了一个封闭的作用域,并提供了get、set和remove三种方法。

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 () {}());

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值