模拟ANGULAR 的一个cacheFactory方法

只能说,根据用法,模拟出的它构造函数,方法有点想JQ,

    var cacheFactory=function (id){

            return new cacheFactory.prototype.init(id);
        }


        cacheFactory.prototype.init=function(id){
            this.id=id;
            this.size=0;
            this.content={};
            return this;
        }

        cacheFactory.prototype.init.prototype = cacheFactory.prototype ;

        cacheFactory.prototype.put = function(name,value){
            this.content[name]=value;
            this.size++;
        }

        cacheFactory.prototype.get=function(name){
            return this.content[name];
        }


        cacheFactory.prototype.info=function(){

            return this;
        }

        var m1 = cacheFactory('mydata');

        m1.put('name','magicfly');

        m1.put('age',222);

        console.log(m1.info())


后面感觉用PROTOTYPE实现,太臃肿,用单体实现比较简单


于是有了下面代码


    var cacheFactory=function (id){
 
            var self ={

                id:id,

                size:0,
                
                put:function(name,value){

                    content[name]=value;
                    self.size++;
                },
                get:function(name){

                    return content[name];

                },
                info:function(){
                    return self;
                }
            }
            return self;
    }



















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值