1. JavaScript / Говнокод #11443

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    if(typeof console == 'object' && typeof console.log == 'function'){
        log = console.log.bind(console);
    }
    else log = function(attr){}

    Запостил: хуита, 19 Июля 2012

    Комментарии (8) RSS

    • А в чем говнокод?
      Ответить
      • да тут просто кладезь.
        Ответить
        • а можно подробнее, пожалуйста? а то я реально не понимаю :(
          Ответить
          • Я тоже не понимаю этой хрени... Ладно бы определяло console.log(), чтоб ИЕ не ругался на забытые дебаги... Тут, полагаю, то же, но не уверен что делает .bind() на функции...
            Ответить
            • .bind() вроде вешает обработчик при обращении к console.log()...
              Т.е. log('ololo'); сработает как console.log('ololo');
              ИМХО костыльпоебень.
              Ответить
              • он не вешает обработчик. это не jQuery.bind, это Function.bind
                он задает контекст выполнения ф-ции. если вызывать console.log, то this будет равен console
                если сделать log = console.log и запускать log, то this будет равен window
                но если сделать log = console.log.bind(console) и запускать log, то this будет равен console

                и поэтому я не вижу говнокода в этом коде
                Ответить
            • ниже ответил
              Ответить

    Добавить комментарий