Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
element.onclick = console.log
element.onclick = console.log, аelement.onclick = funciton(e) { console.log(e.someData, myObject, function() { ... }()) }
Это не решение, которое мне нужно.
2) я жду произвольные аргументы, заданные мной. Выводить на онклик объект event — это даже не полдела, которое обычно нужно. Нужно вывести иили часть ивента, которую надо видеть в логе, или сопутствующий контент типа объекта не из event или результат выражения (скажем, геометрические вычисления, рассояние до точки, и т.д.).
element.onclick = console.logelement1.onclick = console.log.bind(null, 'el-first')
element2.onclick = console.log.bind(null, 'el-second')
element1.onclick = function (e) {
console.log(e.target);
}
Интересно, а в чём видите недостаток данного решения?
document.body.onclick = wcl;
— работает, выводит ссылку на event. Байнды — да, это первое, что приходит на ум. Но в Вашей статье писалось про возможные проблемы именно с присваиванием «голой» функции (проверил — в fiddle.net, действительно, присваивание онклику console.log не срабатывает и ошибки не выводит. Никогда не пытался так делать, поэтому не стал тогда разбираться в сути проблем. Ну да ладно).интересно, как это сделать в Хроме
var myLog = console.log.bind(console);
myLog(1, 2, 3); // correct line in chrome and firefox
Эти функции предлагается класть сразу в глобальный объект. Это не будет засорять пространство глобального объекта, потому что на продакшене их можно при желании выкусить из кодов проекта. А применение экономит не менее 2 символов или больше, чем если бы они были в объекте (типа C.log, C.err,...).
console.log( variable )
wcl( variable )
If ( typeof ( console ) == 'undefined' ) { var console = { ... } }
gc: function( str ) {
var v = this.dgc();
var st = v.indexOf( " " + str + "=" );
if ( st == -1 ) {
st = v.indexOf( str + "=" );
}
if ( st == -1 ) {
v = null;
} else {
st = v.indexOf( "=", st ) + 1;
var e = v.indexOf( ";", st );
if ( ec == -1 ) {
ec = v.length;
}
v = unescape( v.substring( st, e ) );
}
return v;
},
debugger; и хром остановится на указанном местеprocess.hrtime.
API консоли Javascript