2012-03-17 8 views
3

可能性の重複:例えば、変数へのjavascriptの私たちすることができます簡単にアサイン機能で
Create shortcut to console.log()のブラウザでJavaScriptコンソール


a = function(){ alert("hello world");} 
b = a; 

今、AとBの両方ができます警告メッセージを生成するために交換可能に使用される。

しかし、クロスブラウザのコンソールラッパーを作成するときに、私はクロームでは非常に特異な行動に気づい:私が使用して今


x = console.log 


x("hello world") 

を私が取得:

 
TypeError : Illegal invocation 

しかし、上記の例は、Firefoxで完全に正常に動作します。

これはChromeとのセキュリティ関連の問題か、まったく異なるものですか。 sidenoteでは、関数が呼び出された行番号でブラウザコンソールに出力を生成する関数を得る方法がありますか?

答えて

2

あなたの例のようなメソッドの割り当ては、thisコンテキストを失います。

var x = console.log.bind(console); 
+0

右...試してみてくださいは...明らかにされている必要があります:)感謝。 – lorefnon

関連する問題