2016-08-29 23 views
0

コンソールオブジェクトは、どのようにすることができ、私はそれがコードをJS実行すると

window.onload = function() { 
 
     var console = null; 
 
     console.log(1); 
 
    }

は、

Uncaught TypeError: console is not a function

は、私は、オブジェクトコンソールが変数によって上書きされ知っている、このエラーを見つけたとき、可変コンソール作業ではなく、私は問題を解決し、私は変数コンソールを変更したくありません。

+1

実際にはコンソールオブジェクトをオーバーライドしておらず、ローカル変数でシャドーしています。その関数の元のコンソールを参照するには 'window.console'を使います。 – Teemu

+0

あるいは単に変数に 'console'という名前を付けないでください。 –

+0

あなたが望むものは明確ではありません。 "変数"の '' console'を "変更"したくない場合は、しないでください。別の変数名を使用してください。 –

答えて

2

これを試してください。あなたはIEを使用している場合

window.onload = function() { 
 
     test_console(); 
 
    } 
 

 
    var console = null; 
 

 
    function test_console() { 
 
     window.console.log(1); 
 
    }

-2

window.consoleは、しかし、あなたのオブジェクトを取得し、あなたは何も返さない開発者ツールウィンドウのオープンコンソールを持っていません。

+0

古いバージョンの場合 – epascarello

+0

これは最新バージョンのIE 11に当てはまります。 – oscar

+1

@oscarいいえ、これはIE10で修正されました。 – Teemu

0

すべてのグローバルオブジェクトがウィンドウ内にあるため、この作業この

window.console.log('something')

をお試しください。

+0

私はウィンドウを試しましたが、 'window.console.log'を次のコードで実行すると、同じ問題が発生しました。' window.onload = function(){ test_console(); } var console = null; function test_console(){ window.console.log(1); } ' –

+0

は、変数コンソールが関数の外で宣言されているため、このような変数宣言の前にコンソール関数を保存することはできます。var newConsole = console; var console =何か; newConsole.log() ' – stalin

関連する問題