美文网首页
2020-01-04 第一章 灵活的语言-----JavaS

2020-01-04 第一章 灵活的语言-----JavaS

作者: _踮起脚尖看世界 | 来源:发表于2020-01-04 16:49 被阅读0次

    1.试着定义一个即可为函数原型添加方法又可为其自身添加方法的addMethod方法。

    Function.prototype.addMethod=function(name,fn){
    this[name]=fn;
    return this;
    };
    var method=function(){};
    method.addMethod('checkname',function(){
    //验证名称
    console.log('名称');
    return this;
    }).addMethod('checktel',function(){
    //验证电话号码
    console.log('电话');
    return this;
    });
    method.checkhand=function(){
    //检查手
    console.log('检查手手');
    return this;
    };
    //调用
    method.checkname().checktel().checkhand();
    

    //执行结果


    图片.png

    类式调用:

    Function.prototype.addMethod=function(name,fn){
    this.prototype[name]=fn;
    return this;
    };
    var Method=function(){};
     Method.addMethod('checkname',function(){
    //验证名称
    console.log('名称');
    return this;
    }).addMethod('checktel',function(){
    //验证电话号码
    console.log('电话');
    return this;
    });
    Method.prototype.checkhand=function(){
    //检查手
    console.log('检查手手');
    return this;
    };
    //调用
    var m=new Method();
    m.checkname().checktel().checkhand();
    

    //执行结果


    图片.png

    使用类式调用时犯了一个错误

    Function.prototype.addMethod=function(name,fn){
    this.prototype[name]=fn;
    return this;
    };
    var Method=function(){};
     Method.addMethod('checkname',function(){
    //验证名称
    console.log('名称');
    return this;
    }).addMethod('checktel',function(){
    //验证电话号码
    console.log('电话');
    return this;
    });
    Method.prototype.checkhand=function(){
    //检查手
    console.log('检查手手');
    return this;
    };
    Method.checkhand2=function(){
    //检查手
    console.log('检查手手2');
    return this;
    };
    //调用
    var m=new Method();
    m.checkname().checktel().checkhand();
    Method.checkhand2();
    m.checkhand2();//报错,因为checkhand2不是原型的函数,所以没有被m继承
    
    图片.png

    相关文章

      网友评论

          本文标题:2020-01-04 第一章 灵活的语言-----JavaS

          本文链接:https://www.haomeiwen.com/subject/zixfactx.html