zoukankan      html  css  js  c++  java
  • 多种添加公用方法的方式

    /*
        //这样做并不好,污染了原生的Function
        Function.prototype.checkEmail = function(){
            //验证邮箱
            console.log(1);
        }
    
        var fn = function(){};
        fn.checkEmail();
        */
    
        //可以添加统一添加方法的功能方法
        /*
        Function.prototype.addMethod = function(name,fn){
            this[name] = fn;
        }
        var fn = function(){};
        fn.addMethod('checkName',function(){
            console.log('验证姓名');
        });
        fn.addMethod('checkEmail',function(){
            console.log('验证邮箱');
        });
        fn.checkName();
        fn.checkEmail();
        */
        //链式添加&&链式调用
        /*
        Function.prototype.addMethod = function(name,fn){
            this[name] = fn;
            return this;
        }
        var fn = function(){};
        fn.addMethod('checkName',function(){
            console.log('检查名字');
            return this;
        }).addMethod('checkEmail',function(){
            console.log('检查邮件');
            return this;
        });
    
        fn.checkName().checkEmail();
    
        */
        //类式调用方式
        Function.prototype.addMethod = function(name,fn){
            this.prototype[name] = fn;//赋值到对象的原型上
        }
    
        var fn = function(){};
        fn.addMethod('checkName',function(){
            console.log('检查名字');
        });
        fn.addMethod('checkEmail',function(){
            console.log('检查邮箱');
        });
    
        var methods = new fn();
        methods.checkName();
        methods.checkEmail();
  • 相关阅读:
    网络 图片缓存
    大流量 网站
    20个 css3 html5 设计工具
    tomcat6.0 内存设置
    销售订单流程图
    android 自带 xml解析
    常见边框
    Expanding Cat5e LAN segments over 100 metres using OUTREACH Ethernet LAN extenders
    CPU频率和FSB瓶颈
    SmallNetBuilder's Wireless FAQ: The Essentials
  • 原文地址:https://www.cnblogs.com/jokes/p/9582987.html
Copyright © 2011-2022 走看看