一、写一个函数分发,对事件进行一层包裹,判断符合要求才执行判断,不同判断要求的可以加一个标识或者函数

class Controller {

  constructor(handlers, page) {

    this.handlers = handlers;

    this.proxyHandlers = {};

    this.page = page;

  }


  proxy() {

    Object.entries(this.handlers).forEach(([key, handler]) => {

      this.proxyHandlers[key] = this.before(handler);

      this.page[key] = this.proxyHandlers[key];

    });

  }


  judge() {}


  before(handler) {

    return (...args) => {

      if (!this.judge()) {

        handler.apply(this.page, ...args);

      }

    };

  }

}
学费了么?学费了必须做个题:web前端模拟笔试练习题(微信小程序)