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

    +165

    1. 1
    2. 2
    3. 3
    function print(){
        window.print() ;
    }

    Запостил: Lure Of Chaos, 20 Марта 2015

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

    • На символах экономят?
      Ответить
      • print() определена глобально, print() == window.print();

        Не могу придумать ситуацию в которой выше написанное имело бы смысл
        Ответить
        • >> print() определена глобально, print() == window.print();

          буду знать
          Ответить
        • > print() == window.print()
          Только в браузерах, емнип. В других интерпретаторах js global object может быть другой.
          Ответить
        • Выше при вызове print() если брать код как таковой вообще случится слегка рекурсия.)

          А так внутри любой другой функции для экономии символов, да.
          Ответить
      • Скорее всего, да. Если мы создаём свою функцию print вместо их функции, GCC при компиляции с большей вероятностью заменит имя "print" на более короткое.
        // Возьмём такой код:
        window['x'] = [print,print,print,print,print,print,print,print,print,print,print,print,print,print,print,print,print,print,print];
        
        // Он сожмётся в
        window.x=[print,print,print,print,print,print,print,print,print,print,print,print,print,print,print,print,print,print,print];
        
        // Но если добавить код #17825, будет
        function a(){window.print()}window.x=[a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a];
        Ответить

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