2016-08-29 2 views
0

объект консоль не работает, когда переменная консоли

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

Когда я бегу, что JS код, найти эту ошибку

Uncaught TypeError: console is not a function

Я знаю консоль Object переписывается переменной, но как Я разрешаю проблему, я не хочу менять консоль переменных.

+1

На самом деле вы не переопределили объект консоли, вы затеняли его локальной переменной. Используйте 'window.console' для ссылки на исходную консоль в этой функции. – Teemu

+0

Или просто не назовите свою переменную 'console'. –

+0

Непонятно, что вы хотите. Если вы не хотите «менять» «переменную» 'console', не делайте этого. Используйте другое имя переменной. –

ответ

2

Попробуйте это.

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

 
    var console = null; 
 

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

-2

window.console поможет вам объект, однако, если вы используете IE, и вы не имеете окно Инструменты разработчика откройте консоль ничего не будет возвращаться.

+0

для старых версий версии – epascarello

+0

Это верно для IE 11, которая является последней версией. – oscar

+1

@oscar Nope, это было исправлено в IE10. – Teemu

0

Попробуйте этот

window.console.log('something')

эту работу, потому что все глобальный объект в окне;

+0

Я пробовал окно, но когда 'window.console.log' запускался в следующем коде, возникла одна и та же проблема:' window.onload = function() { test_console(); } var console = null; функция test_console() { window.console.log (1); } ' –

+0

заключается в том, что переменная консоль объявлена ​​вне функции, вы можете каким-либо образом сохранить консольную функцию перед объявлением переменной, например, эту команду: var newConsole = console; var console = что-то; newConsole.log() ' – stalin

Смежные вопросы