Pearlfromsu

abe

Nov 26th, 2025
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.59 KB | None | 0 0
  1.  
  2. async function asyncFn() {
  3.   console.log('asyncFn start'); // 2
  4.   await Promise.resolve(); // микро 2
  5.   console.log('asyncFn finish'); // 4
  6. }
  7.  
  8.  
  9. function fn() {
  10.   console.log('hello'); // 1
  11.  
  12.   setTimeout(function() {
  13.     console.log('setTimeout1'); // макро 1 // 6
  14.   }, 0);
  15.  
  16.   new Promise(function(resolve) {
  17.     resolve();
  18.   }).then(function() {
  19.     console.log('then1'); // микро 1
  20.   }).then(function() {
  21.     console.log('then2'); // микро 3 // 5
  22.   });
  23.  
  24.   asyncFn()
  25.  
  26.   console.log('bye'); // 3
  27. }
  28.  
  29. fn();
  30.  
  31. // ==============
  32.  
  33.  
  34. setTimeout(() => console.log('setTimeout'), 0); //макро 1
  35. function myAsync(start = 0) {
  36.   console.log(start);
  37.   return Promise.resolve(start + 1).then(myAsync);
  38. }
  39. myAsync(); // 0, 1, ..., n, ...
  40.  
  41. /*
  42. == 200 OK - server
  43. 1. parse HTML
  44. <link rel="preconnect" ...>
  45. <style src="./style.css" />
  46. 2. DOM
  47.  
  48. 3. CSSOM r
  49.  
  50. 4. DOM + CSSOM = Render Tree
  51.  
  52. 5. Layout - позиционирование, + layers (+ z-index(возможно в конце))
  53.  
  54. 6. Painting - цвета
  55.  
  56. ==если что-то поменялось
  57. бэкграунд - painting
  58.  
  59. ==script -
  60. *empty*
  61. async
  62. defer
  63.  
  64.  
  65.  
  66. HTTP:
  67.  
  68.  
  69.  
  70. GET
  71. POST
  72. PUT
  73. PATCH
  74. DELETE
  75.  
  76. (OPTIONS, HEAD)
  77.  
  78.  
  79.  
  80. COOKIE:
  81.  
  82. path: куда прикреплять куки /home
  83.  
  84.  
  85. https://code.wb.ru
  86.  
  87. secure
  88.  
  89. httpOnly
  90.  
  91.  
  92. fetch(.., {
  93. credentials: true
  94.  
  95. })
  96.  
  97. Cookie:
  98. */
  99.  
  100.  
  101. // ===============
  102.  
  103.  
  104.  
  105.  
  106. const node = $('.js-node');
  107.  
  108. node.addClass('node').toggleClass('item')
  109.     .removeClass('node')
  110.     .css({
  111.         color: 'red',
  112.         paddingTop: '10px'
  113.     })
  114.     .html('<li>hello</li>');
  115.  
  116. // элементов несколько
  117. // аффектятся все
  118.  
  119. class Nodes {
  120.   constructor(elements) {
  121.     this.elements = elements;
  122.   }
  123.  
  124.   addClass(className) {
  125.     this.elements.forEach(element => {
  126.       element.classList.add(className);
  127.     });
  128.     return this;
  129.   }
  130.  
  131.   removeClass(className) {
  132.     this.elements.forEach(element => {
  133.       element.classList.remove(className);
  134.     });
  135.     return this;
  136.   }
  137.  
  138.   css(style) {
  139.     Object.entires(style).forEach(entries => {
  140.       const [styleName, styleValue] = entries;
  141.       this.elements.forEach(element => {
  142.         element.style[styleName] = styleValue;
  143.       });
  144.     })
  145.  
  146.     return this;
  147.   }
  148.  
  149.   html(text) {
  150.     this.elements.forEach(element => {
  151.       element.innerHTML = text;
  152.     });
  153.  
  154.     return this;
  155.   }
  156. }
  157.  
  158. function $(selector) {
  159.   const elements = document.querySelectorAll(selector);
  160.   return new Nodes(elements);
  161. }
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
Advertisement
Add Comment
Please, Sign In to add comment