zoukankan      html  css  js  c++  java
  • 模拟jquery底层链式编程

    //特点1:快级作用域,程序启动自动执行

    //内部的成员变量,外部无法访问(除了var)

    //简单的函数链式调用
    function Dog(){
    this.run=function(){
    alert("跑");
    return this;
    };
    this.eat=function(){
    alert("吃");
    return this;
    };
    this.sleep=function(){
    alert("睡");
    return this;
    }
    };
    var p1=new Dog();
    p1.run().eat().sleep();

    (function(window,undefined){
                //$最常用的对象返回给外界,大型程序开发,一般使用'__'作为私有对象(规范)
                function _$(arguments){
                    //实现代码
                            
                };
                //在function上扩展一个可以实现链式编程的方法
                Function.prototype.method=function(metName,fn){
                    this.prototype[metName]=fn;
                    return this; //链式编程关键
                }
                //在_$原型对象上加一些公共方法
                _$.prototype={
                    const:_$,
                    addEvent:function(){
                        alert(11);    
                        return this; //链式编程关键
                    },
                    setStyle:function(){
                        alert(22);    
                        return this; //链式编程关键
                    }
                }
                //window上先注册一个全局变量,与外界产生关系
                window.$=_$;
    
                //写一个准备方法
                _$.onReady=function(fn){
                    //1.实例化出来_$对象,真正注册到window上
                    window.$=function(){
                        return new _$(arguments);
                    }
                    //2.执行传进入的代码
                    fn();
                    //3.实现链式编程
                    _$.method('addEvent',function(){}).method('setStyle',function(){});
                }
    
            })(window); //程序的入口
    
        /*    $(function(){
                //jquery代码
            })*/
            $.onReady(function(){
                $("dd").addEvent().setStyle();
            })
      
  • 相关阅读:
    flv mime IIS设置
    正则表达式
    MATLAB out of memory
    Cyclic prefix
    Windows Live Writer Test
    zz排序算法的稳定性
    MATLAB的分数和小数
    young矩阵学习
    Python初体验(二)
    利用VS2010调用Excel的宏
  • 原文地址:https://www.cnblogs.com/null11/p/5714147.html
Copyright © 2011-2022 走看看