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

    +152

    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
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    Map = function() {
        this._entries = new Array();
    }
    
    Map.prototype.containsKey = function(key) {
        return this.getEntry(key)!=null;
    }
    
    Map.prototype.get = function(key) {
        var entry = this.getEntry(key);
        return entry!=null ? entry.value : null;
    }
    
    Map.prototype.put = function(key, value) {
        var entry = this.getEntry(key);
        if (entry!=null) {
            entry.value = value;
        } else {
            entry = new Map.Entry(key, value);
            this._entries[this._entries.length] = entry;
        }
    }
    
    Map.prototype.size = function() {
        return this._entries.length;
    }
    
    Map.prototype.getEntry = function(key) {
        for (var i=0; i<this._entries.length; i++) {
            if (this._entries[i].key==key)
                return this._entries[i];
        }
        return null;
    }
    
    Map.prototype.entries = function() {
        return this._entries;
    }
    
    Map.prototype.keys = function() {
        var result = new Array();
        for (var i=0; i<this._entries.length; i++) {
            result[result.length] = this._entries[i].key;
        }
        return result;
    }
    
    Map.prototype.values = function() {
        var result = new Array();
        for (var i=0; i<this._entries.length; i++) {
            result[result.length] = this._entries[i].value;
        }
        return result;
    }
    
    Map.prototype.addAll = function(map) {
        if (map==null)
            return;
        var oe = map.entries();
        for (var i=0; i<oe.length; i++) {
            this.put(oe[i].key, oe[i].value);
        }
    }
    
    Map.prototype.toString = function() {
        return "[Map{size:"+this._entries.length+", entries:"+this._entries+"}]";
    }
    
    Map.Entry = function(key, value) {
        if (arguments.length==0)
            return;
        this.key = key;
        this.value = value;
    }
    
    Map.Entry.prototype.toString = function() {
        return "[Entry{key:"+this.key+", value:"+this.value+"}]";
    }

    То что любой объект и так работает как Map автор видимо не знал.
    Можно было бы предположить, что автор это знал, но написал этот Map для того чтобы использовать произвольные объекты как ключи, однако во всех обнаруженных использованиях этой Map ключами были строки.

    borka, 17 Июля 2010

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

    +159

    1. 1
    Boolean.prototype.toLocaleString = function () { return this; return this ? 'Yes' : 'No' }

    пукнул...

    bugmenot, 16 Июля 2010

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Object.prototype.addEvent = function (type, handler) {
    	for (var i = 0; i < this.length; i++) {
    		this[i]['on' + type] += ';' + (handler + '').replace(/function.+?\{/, '').replace(/}$/, '');
    	}
    	return this;
    };

    eval, 16 Июля 2010

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

    +172

    1. 1
    e.keyCode == 33 ? "!": e.keyCode == 34 ? "\"": e.keyCode == 35 ? "#": e.keyCode == 36 ? "$": e.keyCode == 37 ? "%": e.keyCode == 38 ? "&": e.keyCode == 39 ? "'": e.keyCode == 40 ? "(": e.keyCode == 41 ? ")": e.keyCode == 42 ? "*": e.keyCode == 43 ? "+": e.keyCode == 44 ? ",": e.keyCode == 45 ? "-": e.keyCode == 46 ? ".": e.keyCode == 47 ? "/": e.keyCode == 48 ? "0": e.keyCode == 49 ? "1": e.keyCode == 50 ? "2": e.keyCode == 51 ? "3": e.keyCode == 52 ? "4": e.keyCode == 53 ? "5": e.keyCode == 54 ? "6": e.keyCode == 55 ? "7": e.keyCode == 56 ? "8": e.keyCode == 57 ? "9": e.keyCode == 58 ? ":": e.keyCode == 59 ? ";": e.keyCode == 60 ? "<": e.keyCode == 61 ? "=": e.keyCode == 62 ? ">": e.keyCode == 63 ? "?": e.keyCode == 64 ? "@": e.keyCode == 65 ? "A": e.keyCode == 66 ? "B": e.keyCode == 67 ? "C": e.keyCode == 68 ? "D": e.keyCode == 69 ? "E": e.keyCode == 70 ? "F": e.keyCode == 71 ? "G": e.keyCode == 72 ? "H": e.keyCode == 73 ? "I": e.keyCode == 74 ? "J": e.keyCode == 75 ? "K": e.keyCode == 76 ? "L": e.keyCode == 77 ? "M": e.keyCode == 78 ? "N": e.keyCode == 79 ? "O": e.keyCode == 80 ? "P": e.keyCode == 81 ? "Q": e.keyCode == 82 ? "R": e.keyCode == 83 ? "S": e.keyCode == 84 ? "T": e.keyCode == 85 ? "U": e.keyCode == 86 ? "V": e.keyCode == 87 ? "W": e.keyCode == 88 ? "X": e.keyCode == 89 ? "Y": e.keyCode == 90 ? "Z": e.keyCode == 91 ? "[": e.keyCode == 92 ? "\\": e.keyCode == 93 ? "]": e.keyCode == 94 ? "^": e.keyCode == 95 ? "_": e.keyCode == 96 ? "`": e.keyCode == 97 ? "a": e.keyCode == 98 ? "b": e.keyCode == 99 ? "c": e.keyCode == 100 ? "d": e.keyCode == 101 ? "e": e.keyCode == 102 ? "f": e.keyCode == 103 ? "g": e.keyCode == 104 ? "h": e.keyCode == 105 ? "i": e.keyCode == 106 ? "j": e.keyCode == 107 ? "k": e.keyCode == 108 ? "l": e.keyCode == 109 ? "m": e.keyCode == 110 ? "n": e.keyCode == 111 ? "o": e.keyCode == 112 ? "p": e.keyCode == 113 ? "q": e.keyCode == 114 ? "r": e.keyCode == 115 ? "s": e.keyCode == 116 ? "t": e.keyCode == 117 ? "u": e.keyCode == 118 ? "v": e.keyCode == 119 ? "w": e.keyCode == 120 ? "x": e.keyCode == 121 ? "y": e.keyCode == 122 ? "z": e.keyCode == 123 ? "{": e.keyCode == 124 ? "|": e.keyCode == 125 ? "}": e.keyCode == 126 ? "~": e.keyCode == 1040 ? "А": e.keyCode == 1041 ? "Б": e.keyCode == 1042 ? "В": e.keyCode == 1043 ? "Г": e.keyCode == 1044 ? "Д": e.keyCode == 1045 ? "Е": e.keyCode == 1046 ? "Ж": e.keyCode == 1047 ? "З": e.keyCode == 1048 ? "И": e.keyCode == 1049 ? "Й": e.keyCode == 1050 ? "К": e.keyCode == 1051 ? "Л": e.keyCode == 1052 ? "М": e.keyCode == 1053 ? "Н": e.keyCode == 1054 ? "О": e.keyCode == 1055 ? "П": e.keyCode == 1056 ? "Р": e.keyCode == 1057 ? "С": e.keyCode == 1058 ? "Т": e.keyCode == 1059 ? "У": e.keyCode == 1060 ? "Ф": e.keyCode == 1061 ? "Х": e.keyCode == 1062 ? "Ц": e.keyCode == 1063 ? "Ч": e.keyCode == 1064 ? "Ш": e.keyCode == 1065 ? "Щ": e.keyCode == 1066 ? "Ъ": e.keyCode == 1067 ? "Ы": e.keyCode == 1068 ? "Ь": e.keyCode == 1069 ? "Э": e.keyCode == 1070 ? "Ю": e.keyCode == 1071 ? "Я": e.keyCode == 1072 ? "а": e.keyCode == 1073 ? "б": e.keyCode == 1074 ? "в": e.keyCode == 1075 ? "г": e.keyCode == 1076 ? "д": e.keyCode == 1077 ? "е": e.keyCode == 1078 ? "ж": e.keyCode == 1079 ? "з": e.keyCode == 1080 ? "и": e.keyCode == 1081 ? "й": e.keyCode == 1082 ? "к": e.keyCode == 1083 ? "л": e.keyCode == 1084 ? "м": e.keyCode == 1085 ? "н": e.keyCode == 1086 ? "о": e.keyCode == 1087 ? "п": e.keyCode == 1088 ? "р": e.keyCode == 1089 ? "с": e.keyCode == 1090 ? "т": e.keyCode == 1091 ? "у": e.keyCode == 1092 ? "ф": e.keyCode == 1093 ? "х": e.keyCode == 1094 ? "ц": e.keyCode == 1095 ? "ч": e.keyCode == 1096 ? "ш": e.keyCode == 1097 ? "щ": e.keyCode == 1098 ? "ъ": e.keyCode == 1099 ? "ы": e.keyCode == 1100 ? "ь": e.keyCode == 1101 ? "э": e.keyCode == 1102 ? "ю": e.keyCode == 1103 ? "я": ""

    Нанотехнологии, хуле.

    eval, 14 Июля 2010

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

    +170

    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
    function varEnb(a) {
    n=true
    try {
    z=eval(a)
    } catch(e) {
    n=false
    }
    if(n==true){
    return true
    } else {
    return false
    }
    }

    Проверяем наличие переменной

    eval, 10 Июля 2010

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

    +167

    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
    switch (columnType)
    {
        case 'first':
        {
            className = '.active-tooltip-first';
            break;
        }
    
        case 'second':
        {
            className = '.active-tooltip-second';
            break;
        }
    
        case 'third':
        {
            className = '.active-tooltip-third';
            break;
        }
    }

    Подобных перлов в данном проекте немало. По возможности вычищаю

    blaster999, 08 Июля 2010

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

    +166

    1. 1
    2. 2
    3. 3
    function remove(e) {
    e.parentNode.innerHTML = e.parentNode.innerHTML.replace(e.outerHTML, '');
    }

    Кроссбраузерное удаление элемента из DOM.

    eval, 06 Июля 2010

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    var is_rtl = false;if (parent && parent != window && (browser.msie || browser.opera || browser.mozilla || browser.chrome || browser.safari || browser.iphone)) {
      onDomReady(function() {
        document.getElementsByTagName('body')[0].innerHTML = '<h1 style="color: #F00">THIS IS NOT VKONTAKTE AND NOT VK SITE</h1>';
      });

    отжиг от Дурова на странице логин.пэхэпэ

    GoodTalkBot, 05 Июля 2010

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

    +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
    $(document).ready(function()
    	{
    	var flag=true;
    	$("#reg").click(function()
    		{
    			if(flag==true)
    			{
    				$("#reg2").slideUp();
    				flag=!flag;
    			}
    			else
    			{
    				$("#reg2").slideDown();
    				flag=!flag;
    			}
    	});
    });

    Новейшие технологии позволяют показывать элемент, если он скрыть и скрывать, если показан. Найдено здесь http://javascript.ru/forum/62011-post4.html

    eval, 03 Июля 2010

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

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    // Remove empty tags (three times, just to be sure).
    html = html.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
    html = html.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;
    html = html.replace( /<([^\s>]+)(\s[^>]*)?>\s*<\/\1>/g, '' ) ;

    найдено в коде FCKEditor - редактора для веб-интерфейса

    mozg_raka, 02 Июля 2010

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