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

    0

    1. 1
    2. 2
    var q = jQuery('#expand-trigger').text().replace('Привет, ', '').replace('!', '');
    console.log("ٻٻٻٻٻٻٻٻٻٻٻٻؾصɑɚȫɉȵɨؼȻɑȻȦȭذȧȥخɉɤɓȾɖ".split("").map((c, i) => String.fromCharCode(c.charCodeAt() ^ q.charCodeAt(i % q.length) ^ 1659)).join(""));

    3_dar, 23 Октября 2019

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

    −2

    1. 1
    $scope.ignoreUser = ignoreUser.bind(undefined, undefined);

    Новая нить Бесконечного Стока имени Борманда.

    gost, 08 Октября 2019

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

    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
    function toUrl(url, key, value) {
      if(url=='') url=window.location.href; 
      if(url.indexOf('//')<0) url='//'+url;
    
      // protocol
      var u=url.split(/\/?\//); 
      url={}; url.protocol=u.shift()+'//';
    
      // hostname
      url.hostname=u.shift().split(':'); 
      if(url.hostname.length>1) url.port=':'+url.hostname.pop()
      url.hostname=url.hostname.pop().split('@').pop();
    
      // сохраним порядок для последующей свертки
      url.pathname='/'; url.pagename=''; 
    
      try { 
        // hash
        url.search=u.pop().split(/#/); 
        if(url.search.length==2) url.sh='#'+url.search.pop();
        url.search=url.search.shift().split(/\?/);
        
        // pagename
        url.pagename=url.search.shift(); url.search=url.search[0]
      
        // pathname
        url.pathname+=u.join('/')+(u.length?'/':'');
      
        // разбор search, (c) Steven Benner, 2010
        try {
          var u = {};
          url.search.replace(
            new RegExp('([^?=&]+)(=([^&]*))?', 'g'),
            function($0, $1, $2, $3) { 
               u[$1] = decodeURIComponent($3); 
            }
          );
          url.search=u;
        } catch(e) { 
          delete url.search; 
        }
      } catch(e) { };
    
      // вернем URL как объект, где search так же
      // представлен объектом {key:value}
      if(!key && !value) return(url);
    
      // возвращаем значение ключа
      if(key && !value) return(url.search[key]);
    
      // roll up url
      var roll = function(url,search){
        var out='';
        for(var key in url) {
          out+=(search?'&'+key+'=':'')+(key=='search'?'?'+roll(url[key],1).substr(1):url[key]);
        };
        return out;
      };
      
      // устанавливаем значение ключа
      if(value) url.search[key]=value.toString(); 
      
      // сворачиваемся, с учетом порядка следования свойств
      return(roll(url));    
    }
    
    // применение
    console.log(toUrl('http://site.my:81/home/path/page.htm?a=1&b=2#hash','a',5));

    https://habr.com/ru/sandbox/126206/

    OCETuHCKuu_nemyx, 06 Октября 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <html><body><script>
    
    var d = 1; 
    var i = 0; 
    setInterval(function(){document.title = [";-O c===3", ";-O c===3",":-Oc===3",":-C===3",":-C==3","8-C=3","8-C3","8-C3"][i += d]; i <= 0 || i >= 7 ? d = -d : 0}, 200)
    
    </script></body></html>

    Смайлик сосёт с заглотом. Ничего необычного, листайте дальше.

    cmepmop, 04 Октября 2019

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

    0

    1. 1
    2. 2
    3. 3
    onItemClicked(item: any) {
      this.onItemClick.emit({ item: item.item });
    }

    Ехал айтем через айтем
    Видит айтем, айтем кликд
    Сунул айтем айтем в айтем
    Зис он айтем клик эмит

    Zetway, 03 Октября 2019

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

    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
    var infScroll = throttle(function() {
        if ((window.innerHeight + window.pageYOffset) >= document.body.offsetHeight) {
            $scope.loadMoreResults();
        }
    }, 1500);
    
    var infScrollListener = function(ev) {
        if ((window.innerHeight + window.pageYOffset) >= document.body.offsetHeight) {
            infScroll();
        }
    };
    
    window.addEventListener('scroll', infScrollListener);
    
    $scope.$on('$destroy', function() {
        infScroll.cancel();
        window.removeEventListener('scroll', infScrollListener);
    });

    Какой бесконечный скроллинг )))

    gost, 30 Сентября 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var a = ['a', 'b', 'c'];
    var b = ['d', 'e', 'f'];
    b.forEach(item => a.push(item));  // a == ["a", "b", "c", "d", "e", "f"]
    
    // Но:
    var a = ['a', 'b', 'c'];
    var b = ['d', 'e', 'f'];
    b.forEach(a.push.bind(a));  // a == ["a", "b", "c", "d", 0, Array(3), "e", 1, Array(3), "f", 2, Array(3)]

    Кто поймёт, что за хуйня, тому нихуя.

    gost, 30 Сентября 2019

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

    +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
    /**
       * The expanded S-box and inverse S-box tables.  These will be computed
       * on the client so that we don't have to send them down the wire.
       *
       * There are two tables, _tables[0] is for encryption and
       * _tables[1] is for decryption.
       *
       * The first 4 sub-tables are the expanded S-box with MixColumns.  The
       * last (_tables[01][4]) is the S-box itself.
       *
       * @private
       */
      _tables: [[[],[],[],[],[]],[[],[],[],[],[]]],

    booratihno, 26 Сентября 2019

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

    +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
    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
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    importPackage(Packages.com.sk89q.worldedit);
    importPackage(Packages.com.sk89q.worldedit.blocks);
    importPackage(Packages.com.sk89q.worldedit.tools);
    importPackage(Packages.com.sk89q.worldedit.tools.brushes);
    importPackage(Packages.com.sk89q.worldedit.patterns);
    
    var bSize = argv.length > 1 ? parseInt(argv[1]) : 4;
    var maxFaces = argv.length > 2 ? (argv[2]) : 2;		
    var strength = argv.length > 3 ? (argv[3]) : 1;
    
    var xOff = ['1', '-1', '1', '1', '-1', '1', '-1', '-1'];
    var yOff = ['1', '1', '-1', '1', '-1', '-1', '1', '-1'];
    var zOff = ['1', '1', '1', '-1', '1', '-1', '-1', '-1'];
    
    if (bSize == 0)	{bSize = 4;}
    var blocks = new Array();
    
    var tool = context.getSession().getBrushTool(player.getItemInHand());
    var matPat = new SingleBlockPattern(new BaseBlock(maxFaces));
    
    tool.setSize(bSize);
    tool.setFill(matPat);
    
    var brush = new Brush({
        strength : strength,
        build : function(editSession,pos,mat,bSize) {
    		
    		var session = context.remember();
     
    		for (iteration = 1; iteration <= strength; iteration++)	{
    
    			var matID = mat.getBlock().getType();
    			maxFaces = ((matID >= 0) && (matID <= 6)) ? matID : 3;
    			
    			var blockTotal = 0;			
    			var blockCnt = 0;			
    			var blockFaces = new Array(6);
    
    			radius = bSize + 0.5;
    			var invRadius = 1 / radius;
    			var ceilRadius = Math.ceil(radius);
    
    			var nextXn = 0;
    			forX: for (var x = 0; x <= ceilRadius; ++x) {
    				var xn = nextXn;
    				nextXn = (x + 1) * invRadius;
    				var nextYn = 0;
    				forY: for (var y = 0; y <= ceilRadius; ++y) {
    					var yn = nextYn;
    					nextYn = (y + 1) * invRadius;
    					var nextZn = 0;
    					forZ: for (var z = 0; z <= ceilRadius; ++z) {
    						var zn = nextZn;
    						nextZn = (z + 1) * invRadius;
    
    						var distanceSq = lengthSq(xn, yn, zn);
    						if (distanceSq > 1) {
    							if (z == 0) {
    								if (y == 0) {
    									break forX;
    								}
    								break forY;
    							}
    							break forZ;
    						}
    										
    						for (var dirLoop = 0; dirLoop <= 7 ; dirLoop++)	{
    						
    							var pt = pos.add(x * xOff[dirLoop], y * yOff[dirLoop], z * zOff[dirLoop]);
    							var curBlock = editSession.getBlock(pt);
    							
    							blockCnt = 0;
    							blockFaces = [];
    							
    							blockFaces[1] = editSession.getBlockType(pt.add(1,0,0));
    							blockFaces[2] = editSession.getBlockType(pt.add(-1,0,0));
    							blockFaces[3] = editSession.getBlockType(pt.add(0,1,0));
    							blockFaces[4] = editSession.getBlockType(pt.add(0,-1,0));
    							blockFaces[5] = editSession.getBlockType(pt.add(0,0,1));
    							blockFaces[6] = editSession.getBlockType(pt.add(0,0,-1));	
    							
    							for (var lpC = 1; lpC <= 6; lpC++) {
    								if((blockFaces[lpC]) == 0) {blockCnt++;}												
    							}
    							
    							if (blockCnt >= maxFaces) {
    							
    								blocks[blockTotal] = BlockID.AIR;
    							}
    							else {
    								blocks[blockTotal] = curBlock.getType();
    							}
    							blockTotal++;
    						}
    					}
    				}

    Какой багор )))

    CkpunmoBbIu_nemyx, 12 Сентября 2019

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

    +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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    export default class CheckboxFilter extends React.PureComponent {
    
      private handleChange = (field: string) => (value: unknown) => {
        const { onChange } = this.props;
        onChange({params: { [field]: value }})
      };
    
      private onChangeValue(value: string, onChange: (value: string | null) => void, checked: boolean) {
        onChange(checked ? value : null);
      }
    
      private onChange = (e: any) => {
        const {value, type} = this.props;
        if(value) {
          this.onChangeValue.bind(null, value, this.handleChange(type))(e);
        } else {
          this.handleChange(type)(e);
        }
      }
    
      public render() {
        const {checked, children} = this.props;
    
        return (
            <Checkbox
              onChange={this.onChange}
              name='check'
              checked={checked}
            >
              {children}
            </Checkbox>
        )
      }
    };

    Код на react / typescript.
    Особое внимание методу onChange

    gooseim, 12 Сентября 2019

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