I'm creating a lambda function that executes a second function with a concrete params. This code works in Firefox but not in Chrome, its inspector shows a weird error, Uncaught TypeError: Illegal invocation
. What's wrong with my code?
var make = function(callback,params){
callback(params);
}
make(console.log,'it will be accepted!');
The console's log function expects
this
to refer to the console (internally). Consider this code which replicates your problem:Here is a (silly) example that will work, since it binds
this
toconsole
in your make function:This will also work