12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- // 第一题
- console.log('1');
- setTimeout(function () {
- console.log('2');
- }, 0);
- console.log('3');
- // 第二题
- console.log('1');
- setTimeout(function () {
- console.log('2');
- Promise.resolve().then(function () {
- console.log('3');
- });
- }, 0);
- Promise.resolve().then(function () {
- console.log('4');
- });
- console.log('5');
- // 第三题
- // 同步任务,输出 '1'
- console.log('1');
- setTimeout(() => {
- // 定时器回调函数,宏任务
- console.log('2 - Macro Task');
- // 添加一个微任务到队列中
- Promise.resolve().then(() => console.log('3 - Micro Task'));
- }, 0);
- // 添加一个微任务到队列中
- Promise.resolve().then(() => console.log('4 - Micro Task'));
- // 同步任务,输出 '5'
- console.log('5');
- // 第四题
- console.log('Start');
- setTimeout(() => {
- console.log('Timeout 5');
- }, 100);
- new Promise((resolve) => {
- console.log('Promise 4');
- resolve();
- }).then(() => {
- console.log('Promise 5');
- });
- console.log('End');
- // 第五题
- console.log('Start');
- setTimeout(() => {
- console.log('Timeout 2');
- }, 100);
- for (let i = 0; i < 5; i++) {
- console.log(i);
- }
- // 第六题
- console.log('Start');
- setTimeout(() => {
- console.log('Timeout 7');
- }, 0);
- async function asyncFunc() {
- console.log('Async 1');
- await new Promise((resolve) => {
- console.log('Promise 8');
- resolve();
- });
- console.log('Async 2');
- }
- asyncFunc();
- console.log('End');
- </script>
- </body>
- </html>
|