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

    +160

    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
    jQuery('#items > div > a > img').hover(
        function(){
          jQuery(this).css('border', 'solid 1px gray');
          var pos = jQuery(this).parent().parent().position().left;
          var posTop = jQuery(this).parent().parent().position().top;
          jQuery(this).parent().parent().css('left', (pos-1));
          jQuery(this).parent().parent().css('top', (posTop-1));
        },
        function(){
          jQuery(this).css('border', '0');
          var pos = jQuery(this).parent().parent().position().left;
          var posTop = jQuery(this).parent().parent().position().top;
          jQuery(this).parent().parent().css('left', (pos+1));
          jQuery(this).parent().parent().css('top', (posTop+1));
        }
      )

    Вот такой вот неожиданный вариант отображения рамочек вокруг изображений в галерее при наведении курсора мыши. Наткнулся в проекте, над которым сейчас работаю.

    nbspjr, 30 Октября 2012

    Комментарии (6)
  2. JavaScript / Говнокод #12006

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <script type="text/javascript">
        //<!--
        var SITE_PATH = ''; var SITE_LANG = '';
        //-->
        </script>
        <script type="text/javascript" src="/media/b724280b51052a3df70e38caed7434ff.js?files=jquery.js,govnokod.save.js,govnokod.js&amp;v=4"></script>

    Херня на вашем сайте)) Можно просто сделать в один код...

    111111, 26 Октября 2012

    Комментарии (3)
  3. JavaScript / Говнокод #12002

    +160

    1. 1
    new Array(100).map(function(x) { return Math.random() * 1000; });

    Угадайте результат.

    wvxvw, 25 Октября 2012

    Комментарии (41)
  4. JavaScript / Говнокод #11990

    +165

    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
    function findeFreePlace()
        {
            try
            {
                var x = random(gs.cells.x - 1),
                    y = random(gs.cells.y - 1);
                if (gs.balls[y][x] != null)
                {
                    return findeFreePlace();
                }
                else
                {
                    return [x, y];
                }
            }
            catch (e)
            {
                isEndGame = true;
                showfinish();
                return false;
            }
        }

    Игра "линии". Нужно случайно выбрать клеточку, в которую будет добавлен новый шарик. Ну, а чтобы узнать, что пустых клеточек нет, ловим ошибку переполнения стека.

    vovams, 24 Октября 2012

    Комментарии (28)
  5. JavaScript / Говнокод #11982

    +154

    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
    var num_normalize = function (num) {
            if (typeof num == 'string') {
                if (num.test('.')) {
                    return parseFloat(num).toFixed(2);
                }
                else {
                    return parseInt(num);
                }
            }
            else if (parseInt(num) == parseFloat(num)) {
                return parseInt(num);
            }
            else return parseFloat(num).toFixed(2);
        };

    Когда-то писал функцию для приведение чисел к одному виду, которые иногда приходили в виде стринги.
    За говнокод сойдет?

    Stud, 24 Октября 2012

    Комментарии (2)
  6. JavaScript / Говнокод #11980

    +161

    1. 1
    eval( array.join('+') );

    Конечно, я понимаю что всякие Haskel там, то, сё...

    bot, 24 Октября 2012

    Комментарии (26)
  7. JavaScript / Говнокод #11963

    +151

    1. 1
    var ext = /.+[.](jpg|JPG|gif|GIF|bmp|BMP|png|PNG|jpeg|JPEG)$/;

    Stallman, 20 Октября 2012

    Комментарии (12)
  8. JavaScript / Говнокод #11940

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function ValidatePhone(strphone)
    {
        for(j=0;j<strphone.length;j++)
        {
        var cut;
        cut=strphone.charAt(  j )
        if(cut!=0&&cut!=1&&cut!=2&&cut!=3&&cut!=4&&cut!=5&&cut!=6&&cut!=7&&cut!=8&&cut!=9&&cut!="("&&cut!=")"&&cut!=".")
          return false;
     
        } 
        return true;
    }

    классика

    bytes, 16 Октября 2012

    Комментарии (6)
  9. JavaScript / Говнокод #11906

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    getControlValues : function(isSimpleValue){
        return this._getControlData(function(tab){
            return tab.getControlValues(isSimpleValue);
        });
    }

    Образец "самодокументируемого кода"
    Маленький метод, но как много в нем загадок.

    jangot, 10 Октября 2012

    Комментарии (2)
  10. JavaScript / Говнокод #11901

    +156

    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
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    function isProperty(object, property) {
        "use strict";
        var p, names, original = object,
            ecmaTypes = [Object, Array, String, Number, Date];
        try {
            for (p = 0; p < ecmaTypes.length; p += 1) {
                if (ecmaTypes[p] == object) {
                    console.log("looking up: " + ecmaTypes[p]);
                    names = Object.getOwnPropertyNames(ecmaTypes[p]);
                    if ('prototype' in ecmaTypes[p]) {
                        names = names.concat(
                            Object.getOwnPropertyNames(
                                ecmaTypes[p].prototype));
                    }
                    break;
                }
            }
            do {
                object = object.prototype.__proto__.constructor;
                names = names ?
                    names.concat(Object.getOwnPropertyNames(object)) : [];
                if ('prototype' in object) {
                    names = names.concat(
                        Object.getOwnPropertyNames(object.prototype))
                }
            } while  (object != Object)
            if (!names) {
                names = Object.getOwnPropertyNames(object);
            }
        } catch (error) {
            for (p in object) {
                if (object[p] == property) {
                    return true;
                }
            }
            return false
        }
        for (p = 0; p < names.length; p += 1) {
            if (original[names[p]] == property ||
                original.prototype[names[p]] == property) {
                return true;
            }
        }
        return false;
    }

    А как еще узнать, является ли функция методом принадлежащим объекту или нет? Это еще после трех часов проведенных в муках пытаясь понять, что вообще происходит.

    wvxvw, 10 Октября 2012

    Комментарии (27)