Не требуется Объявлениеconsole.log
еще раз, потому что оно уже объявлено.
В Javascript console
является глобальной переменной. Ничто не мешает вам добавлять, редактировать или удалять из него свойства.
Так что да, вы можете просто присвоить различные функции console.log
или то, что вы хотите:
console.log = function(foo, bar) { ... }
console.anotherProperty = { ... }
Однако, если вы пытаетесь создать foo.bar
переменную, которая делает не существуют еще, вы могли бы делают это по-разному:
// first approach
var foo;
foo.bar = function() { ... };
// second approach
var foo = {
bar: function() { ... };
};
// third approach
var fnBar = function() { ... };
var foo = { bar: fnBar };
Смотри на Console API docs и Working with objects.
Насколько я знаю, вы не можете добавить точку в имя переменной. var name.log не будет работать. –
Точечная обозначение обозначает ключ в объекте, а не обычное имя переменной. Таким образом, вы можете сделать это, чтобы перезаписать весь объект: 'window.console = {};' Или вы могли бы это сделать, чтобы перезаписать эту функцию: 'console.log = function() {/ * something * /}' Что эквивалентно к этому: 'console [" log "] = function() {}' – user162097