练习题7讲解.html 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // console.log('1');
  11. // setTimeout(function () {
  12. // console.log('2');
  13. // }, 0);
  14. // console.log('3');
  15. // 1
  16. // 3
  17. // 2
  18. // console.log('1');
  19. // setTimeout(function () {
  20. // console.log('2');
  21. // Promise.resolve().then(function () {
  22. // console.log('3');
  23. // });
  24. // }, 0);
  25. // Promise.resolve().then(function () {
  26. // console.log('4');
  27. // });
  28. // console.log('5');
  29. // 1
  30. // 5
  31. // 4
  32. // 2
  33. // 3
  34. // 同步任务,输出 '1'
  35. // console.log('1');
  36. // setTimeout(() => {
  37. // // 定时器回调函数,宏任务
  38. // console.log('2 - Macro Task');
  39. // // 添加一个微任务到队列中
  40. // Promise.resolve().then(() => console.log('3 - Micro Task'));
  41. // }, 0);
  42. // // 添加一个微任务到队列中
  43. // Promise.resolve().then(() => console.log('4 - Micro Task'));
  44. // // 同步任务,输出 '5'
  45. // console.log('5');
  46. // 1
  47. // 5
  48. // 4
  49. // 2
  50. // 3
  51. // console.log('Start');
  52. // setTimeout(() => {
  53. // console.log('Timeout 5');
  54. // }, 100);
  55. // new Promise((resolve) => {
  56. // console.log('Promise 4');
  57. // resolve();
  58. // }).then(() => {
  59. // console.log('Promise 5');
  60. // });
  61. // console.log('End');
  62. // start
  63. // Promise 4
  64. // end
  65. // Promise 5
  66. // Timeout 5
  67. // console.log('Start');
  68. // setTimeout(() => {
  69. // console.log('Timeout 2');
  70. // }, 100);
  71. // for (let i = 0; i < 5; i++) {
  72. // console.log(i);
  73. // }
  74. // start
  75. // 0
  76. // 1
  77. // 2
  78. // 3
  79. // 4
  80. // Timeout 2
  81. console.log('Start');
  82. setTimeout(() => {
  83. console.log('Timeout 7');
  84. }, 0);
  85. async function asyncFunc() {
  86. console.log('Async 1');
  87. await new Promise((resolve) => {
  88. console.log('Promise 8');
  89. resolve();
  90. });
  91. console.log('Async 2');
  92. }
  93. asyncFunc();
  94. console.log('End');
  95. // start
  96. // Async 1
  97. // Promise 8
  98. // End
  99. // Async 2
  100. // Timeout 7
  101. </script>
  102. </body>
  103. </html>