然后再稍微修改一下 off 方法里的判斷條件
// remove specific callbacks...if (cb === fn || cb.fn === fn) { callbacks.splice(i, 1) break}...
在瀏覽器環(huán)境這種做法是可行的,但是在小程序側則是失敗的。因為我們定義的這些 function 在小程序里并不是 Function 的實例,那無論我怎樣修改 Function 的 prototype 屬性,function 并不會繼承到。原因是小程序把 Function 給改寫了:
//consoleFunction.toString()// "function (){if(arguments.length>0&&"return this"===arguments[arguments.length-1])return function(){return e}}"