e vor 11 Monaten
Ursprung
Commit
114ad81e3a
2 geänderte Dateien mit 114 neuen und 0 gelöschten Zeilen
  1. 39 0
      js/js高阶/15.proxy.html
  2. 75 0
      js/js高阶/16.Promise.html

+ 39 - 0
js/js高阶/15.proxy.html

@@ -0,0 +1,39 @@
+<!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>
+    <!-- 
+        proxy 代理
+        new Proxy(target,handle)
+        target 目标对象
+        handle 处理对象
+     -->
+     <script>
+        let obj = {
+            name:"Hi"
+        }
+        const vase = new Proxy(obj,{
+            get(target,key,prototype) {
+                console.log(target); //当前对象
+                console.log(key); // 方法
+                console.log(prototype); // 当前对象原型
+            },
+            set(target,key,prototype) {
+                console.log(target,'1'); //当前对象
+                console.log(key,'1'); // 修改的对象下标
+                console.log(prototype,'1'); // 最新的值
+
+            }
+
+        })
+        console.log(vase.name)
+        // vase.name = "Lucy"
+        // console.log(vase.get = 'Lu')
+        // console.log(vase.set)
+     </script>
+</body>
+</html>

+ 75 - 0
js/js高阶/16.Promise.html

@@ -0,0 +1,75 @@
+<!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>
+        // js的循环机制 EventLoop
+        // 同步事件 
+        // 异步事件:
+        // 微任务:
+        //  Promise 三种状态
+        // resolve/fulfilled 成功的
+        // reject 失败
+        // pending 等待
+        // 宏任务 setTimeout setInterval
+        // 第一种
+        // console.log("334")
+        // new Promise((resolve,reject) => {
+        //     console.log("1")
+        //     setTimeout(()=>{
+        //         console.log("45")
+        //     },0)
+        //     reject()
+        // }).then(res => {
+        //     // then 成功的内容
+        //     console.log("2")
+        // }).catch(err => {
+        //     // catch 失败的内容
+        //     console.log("3");
+        // })
+        // console.log("77")
+        // 第二种
+        // let book = new Promise((resolve,reject) => {
+        //     console.log("444")
+        //     setTimeout(()=>{
+        //         console.log("333")
+        //     },2000)
+        //     resolve()
+        // })
+        // book.then(res => {
+        //     console.log("111")
+        // })
+        // book.catch(()=>{
+        //     console.log("222")
+        // })
+        let p1 = new Promise((resolve, reject) => {
+            console.log("1");
+            reject();
+        })
+        let p2 = new Promise((resolve, reject) => {
+            console.log("2");
+            resolve();
+        })
+        let p3 = new Promise((resolve, reject) => {
+            console.log("3");
+            resolve();
+        })
+        // Promise.all 失败一次 则失败  全部成功才成功
+        // Promise.all([p1,p2,p3]).then(res => {
+        //     console.log("成功")
+        // }).catch(err => {
+        //     console.log("失败")
+        // })
+        // Promise.race 第一个传入的失败才失败  其余的皆为成功
+        Promise.race([p1,p2,p3]).then(res => {
+            console.log("成功")
+        }).catch(err => {
+            console.log("失败")
+        })
+    </script>
+</body>
+</html>