e 1 سال پیش
والد
کامیت
3186f1c1f2
2فایلهای تغییر یافته به همراه97 افزوده شده و 0 حذف شده
  1. 55 0
      JS高级/19.Map.html
  2. 42 0
      JS高级/20.proxy.html

+ 55 - 0
JS高级/19.Map.html

@@ -0,0 +1,55 @@
+<!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>
+        /**
+         * Map() 类似于对象 键值对中的对象
+         * 可以使用扩展运算符 for..of
+         * size 返回键值对中的元素个数
+         * set() 往集合中添加键值对
+         * get() 获取集合中的键值
+         * has() 查找Map集合中是否包含所要查找的属性 返回值为布尔值
+         * clear() 清空集合中的所有值 返回undefined
+         * 
+        */
+       let s1 = new Map();
+       console.log(s1,'s1');
+       let s2 = new Map([
+        ["name","Lucy"],
+        ["age","18"],
+        ["address","哈尔滨"]
+       ]);
+       console.log(s2,'s2');
+       console.log(s2.size);
+       s2.set("sex","女")
+       console.log(s2);
+       console.log(s2.get("name"));
+       console.log(s2.has("age"));
+       s2.clear();
+       console.log(s2.clear());
+       console.log(s2);
+
+       var arr = [1,2,3,4,5,6];
+       arr.map((ele,index)=>{
+        console.log(ele,'值');
+        console.log(index,'下标');
+       })
+
+       var arr2 = new Map();
+       arr2.set("color","red");
+       arr2.set("school","US");
+       console.log(arr2);
+
+       for(a of arr2.entries()) {
+        console.log(a,'1');
+       }
+    //    console.log(arr2.entries());
+
+    </script>
+</body>
+</html>

+ 42 - 0
JS高级/20.proxy.html

@@ -0,0 +1,42 @@
+<!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>
+        /** 
+         * 代理 proxy
+         * const proxy = new Proxy(target,handler);
+         * target 目标值
+         * handler 包含一系列的拦截操作 
+         *
+         * */
+        let obj = {
+            name:'Lucy',
+            // age: 18
+        }
+        const vase = new Proxy(obj,{
+            get(target,key,prototype) {
+                console.log(target,'目标对象');
+                console.log(key,'方法');
+                console.log(prototype,'代理值');
+                return target;
+            },
+            set(target,key,prototype) {
+                console.log(target,'原对象')
+                console.log(key,'修改的属性');
+                console.log(prototype,'新对象');
+                //执行代理中的内容
+                return target[key] = 'AAA';
+            }
+        })
+        vase.name = 'LiLi';
+        console.log(vase.set);
+        // console.log(vase.get.name);
+        // console.log(vase.set);
+    </script>
+</body>
+</html>