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

    +149.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    myAutoComp.formatResult = function(oResultData, sQuery, sResultMatch) { 
    
          .....
          var aMarkup = ["<div class='myCustomResult'>", 
    	      "<span style='font-weight:bold'>", 
    	      sKey, 
    	      "</span>", 
    	      sKeyRemainder, 
    	      ": ", 
    	      moreData1, 
    	      ", ", 
    	      moreData2, 
    	      "</div>"]; 
                  return (aMarkup.join("")); 
    };

    Отсюда http://developer.yahoo.com/yui/examples/autocomplete/ac_basic_xhr.html

    Запостил: Oleg_quadro, 25 Декабря 2009

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

    • Вполне приличный и легко понимаемый код.
      Ответить
      • это понятно. Но что им помешало сразу создать строку используя плюсы?
        Ответить
        • Ну, это вопрос, скажем так, религиозный. Когда требуется создать небольшую строчку, то пользуюсь +, когда что-то побольше - вот таким вариантом.
          Ответить
        • Это быстрее.
          + - очень затратная с точки зрения операций выделения памяти операция во многих языках.

          Не говнокод.
          Ответить
    • Это пример вполне хорошего кода (понятен, легко читаем). join вместо конкатенации для повышения скорости. При использовании + для каждого операнда происходит преобразование к строке. А если через join строка делается один раз.
      Ответить
      • Давычо!
        obj = {toString:function(){alert('Преобразовано к строке'); return 'ol'}};
        alert( [obj,obj,obj].join('') )


        array + join дает прирост скорости по сравнению с обычной конкатенацией только в осле
        Ответить

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