6
これで少し混乱します。 以下のコードを見つけてください。console.logが関数で渡されたときに不正な呼び出しエラーが発生しました
//TypeError: Illegal invocation
var o={
printToConsole: function(f){
f(1);
}
};
o.printToConsole(console.log);
は//私は、我々は明らかにそれがどんな引数を取らないことを表示し、クロムでは、この
`function log() { [native code] }`
を得るにconsole.logの定義からはTypeError
を取得しますコンソール上で何かを印刷しようとすると、console.logに引数を渡します。
console.log('Take me on Console');
なぜこのTypeErrorが発生し、このconsole.logがChromeでどのように動作するのですか?受信機(this
)はコンソールがあるとき
あなたは正しいです。これはブラウザに依存します。 – Mozak
Firefoxはコンソールにメッセージを表示せずに、コンソールにメッセージを表示します。 – Mozak
同様の質問が見つかったhttp://stackoverflow.com/questions/8904782/uncaught-typeerror-illegal-invocation-in-javascript – Mozak