js 如何简单抽象出库

代码可复用性是程序员追求的最终目的,而在变化多端且有与众不同的语法中如何构建库和所谓的模块开发。

抽象出库code

(function($,exports){
    var mod = function(includes){
        if(includes) this.include(includes);
    }
    mod.fn = mod.prototype;
    mod.fn.proxy = function(func){
        return $.proxy(func,this);
    };
    mod.fn.load = function(func){
        $(this.proxy(func));
    };
    mod.fn.include = function(ob){
        $.extend(this,ob);
    };
    exports.Controller = mod;
})(jQuery,window);

模块引用Controller代码

jQuery(function($){
    searchView = new Controller({
        elements:{
            "input[type=search]":"searchInput",
            "form":"searchForm"
        },
        init:function(element){
            this.el = $(element);
            this.refreshElements();
            this.searchForm.click(this.proxy(this.search));
        },
        search:function(){
            console.log("Searching:",this.searchInput.val());
            return false;
        },
        $:function(selector){
            return $(selector,this.el);
        },
        refreshElements:function(){
            for(var key in this.elements){
                this[this.elements[key]] = this.$(key);
            }
        }
    });
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值