JavaScript定义一个既可以为函数原型添加方法又可以为自身添加方法的addMethod的方法

 <script>
    // 抽象出一个统一添加方法的功能方法
    Function.prototype.addMethod = function(name,fn){
      this[name] = this.prototype[name] = fn;
      return this;
    }
    var methods = new Function();
    // 给自身添加方法
    methods.addMethod('sayName', function(){
      // 输出姓名
      console.log('galaxy');
      // 使用链式调用通过return this
      return this;
    })
    methods.addMethod('sayEmail' ,function(){
      // 输出Email
      console.log('XXXXXXXXXX@qq.com');
      return this;
    })
    // 给原型上添加方法
    methods.prototype.sayHello = function(){
      console.log('hello');
    }
    methods.sayName();
    methods.sayEmail();
    // 链式调用
    methods.sayName().sayEmail();
    methods.prototype.sayHello();
  </script>

你可能感兴趣的:(JavaScript设计模式)