具体的なparamsで2番目の関数を実行するラムダ関数を作成しています。このコードはFirefoxでは動作しますが、Chromeでは動作せず、その検査官は奇妙なエラーUncaught TypeError: Illegal invocation
を示します。私のコードの何が間違っていますか?Uncaught TypeError:javascriptでの不正な呼び出し
var make = function(callback,params){
callback(params);
}
make(console.log,'it will be accepted!');
私は 'console.log.bind(コンソール)'と 'console.log'を交換する場合、それはdおよび、*ログ*はの方法として呼ばれることを期待していることを示し@クローム12 –
で動作します* console *、つまり* this *キーワードは* console *オブジェクトを参照しなければならないということです。 – RobG
あなたの 'make'関数は' callback.call(null、params) 'と同等です –