Rather a technical question concerning JavaScript events:
Why does
window.onmousewheel = console.log; throw an Uncaught TypeError: Illegal invocation, while
window.onmousewheel = function (e) {console.log(e); }; works just as expected and prints the event as string? Why is the console.log, when assigned to window.onmousewheel, not just called with one parameter like the lambda expression?

window.onmousewheel = console.log.bind(console);.foo.bar()is different tofn = foo.bar; fn().