var ELController = function(target, type, handler, useCapture){ return { on: function(){ target.addEventListener(type, handler, useCapture); }, off: function(){ target.removeEventListener(type, handler, useCapture); }, }; }; var onclick = new ELController(window, "click", function(){ alert(1); }, false); (click) // -> none onclick.on(); (click) // -> alert(1) onclick.off(); (click) // -> none クロージ