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

    +145

    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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    this.serializeParams = function(params) {                                                                 
            var serialize = [];                                                                                   
            var buildParameters = function (parameters) {                                                         
                var result = {};                                                                                  
                if(typeof parameters == "object") {                                                               
                    for(var param in parameters) {                                                                
                        if(!parameters.hasOwnProperty(param)) {                                                   
                            continue;                                                                             
                        }                                                                                         
                        result[param] = buildParameters(parameters[param]);                                       
                    }                                                                                             
                }                                                                                                 
                if(typeof parameters == "string") {                                                               
                    return parameters;                                                                            
                }                                                                                                 
                return result;                                                                                    
            };                                                                                                    
            console.log(buildParameters(params));                                                                 
            for (var param in params) {                                                                           
                if(!params.hasOwnProperty(param)) {                                                               
                    continue;                                                                                     
                }                                                                                                 
                buildParameters(params[param]);                                                                   
                serialize.push(param + '=' + params[param]);                                                      
            }                                                                                                     
            if (serialize.length === 0) {                                                                         
                return '';                                                                                        
            }                                                                                                     
            return (this.options.method === "GET" ? "?" : "") + serialize.join('&');                              
        };

    В голове выглядело все идеально а получилось что то типа
    for(var i = 0; i < 1e10; i++) { continue; } // бесполезная работа

    Запостил: LarexSetch, 22 Мая 2015

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

    • >В голове выглядело все идеально: for(var i = 0; i < ...

      >А получилось что то типа: for (var param in params) {
      Ответить
    • На что люди только не пойдут, лишь бы не юзать жыКвери (или другие либы)...

      Но основная проблема этого кода в том, что он не делает urlencode.
      Ответить
      • Да видимо подопытного пытали препаратом "Заебал ты свое жиквери пихать куда попало, говнокодер хуев" и он пытался доказать что- нет
        Ответить
        • думается мне все проще. На сайте с которого был взят код не было версии для jq.

          Я такое часто вижу мешанина ванильного стайла + приправленные jq. Порой бывает полная жопа из вставок MooTools.
          Ответить
    • - Вообще-то этот поцелуй должен был состояться в том переулке. Если бы не эти уроды...
      Ответить

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