码迷,mamicode.com
首页 > 其他好文 > 详细

改造业务代码

时间:2017-05-19 23:47:20      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:var   methods   prototype   错误   链式   函数式   query   程序员   his   

新手程序员,很容易犯写出面向过程的,留下很多全局变量的代码的错误。现在是时候简单的改进一下了。

    //函数原型添加一个addMethod方法,现在所有的函数都有addMethod方法了。
    Function.prototype.addMethod = function(name,fn){
        this[name] = fn;
        //在下面的的代码中,this指向methods函数。所以可以链式调用
        return this;
    };
    
    //等同于 var methods = new Function(){};
    var methods = function(){
    };
    methods
        .addMethod(‘checkName‘,function(){            console.log(‘检查了名字‘);
            return this;
        })
        .addMethod(‘checkPhone‘,function(){
            console.log(‘检查了手机‘);
            return this;
        });

    methods.checkName().checkPhone();
    //全局变量只有一个methods。这样就避免了全局变量污染。同时还有jQuery一样的链式调用。

 

 上面是函数式调用。还可以以类式的调用方式写。

 

    Function.prototype.addMethod = function(name,fn){
        this.prototype[name] = fn;
        return this;
    };

    var Methods = function(){};
    Methods
        .addMethod(‘checkName‘,function(){
            console.log(‘检查了名字‘);
            return this;
        })
        .addMethod(‘checkPhone‘,function(){
            console.log(‘检查了手机‘);
            return this;
        });

    var method=new Methods();
    method.checkName().checkPhone();

 

改造业务代码

标签:var   methods   prototype   错误   链式   函数式   query   程序员   his   

原文地址:http://www.cnblogs.com/liaozhenting/p/6880428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!