|
@@ -0,0 +1,91 @@
|
|
|
+<!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>
|