然后再稍微修改一下 off 方法里的判断条件
// remove specific callbacks...if (cb === fn || cb.fn === fn) { callbacks.splice(i, 1) break}...
在浏览器环境这种做法是可行的,但是在小程序侧则是失败的。因为我们定义的这些 function 在小程序里并不是 Function 的实例,那无论我怎样修改 Function 的 prototype 属性,function 并不会继承到。原因是小程序把 Function 给改写了:
//consoleFunction.toString()// "function (){if(arguments.length>0&&"return this"===arguments[arguments.length-1])return function(){return e}}"