Browse Source

fix;day24

e 1 year ago
parent
commit
651a288a29
4 changed files with 94 additions and 0 deletions
  1. 11 0
      day24/html/3.map.html
  2. 11 0
      day24/html/4.proxy.html
  3. 45 0
      day24/js/3.map.js
  4. 27 0
      day24/js/4.proxy.js

+ 11 - 0
day24/html/3.map.html

@@ -0,0 +1,11 @@
+<!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 src="../js/3.map.js"></script> 
+</body>
+</html>

+ 11 - 0
day24/html/4.proxy.html

@@ -0,0 +1,11 @@
+<!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 src="../js/4.proxy.js"></script>
+</body>
+</html>

+ 45 - 0
day24/js/3.map.js

@@ -0,0 +1,45 @@
+/**
+ * ES6中提供的map 类似于对象 键值对的对象集合
+ * 可以使用扩展运算符 和 for...of遍历
+ * map:
+ * 1.size 返回map的元素个数
+ * 2.set() 增加一个新元素 返回当前Map
+ * 3.get() 返回键名对象的键值
+ * 4.has() 检查Map中是否包含某个元素  返回布尔值
+ * 5.clear() 清空集合返回undefined
+ */
+
+let m = new Map();
+console.log(m,'m');
+let m1 = new Map([ 
+    ["name","Lucy"],
+    ["age","23"],
+    ["sex","女"]
+])
+console.log(m1,'m1');
+console.log(m1.size,'size');
+console.log(m1.set("address","haErBin"));
+console.log(m1.get("sex"))
+console.log(m1.has("age"))
+console.log(m1.clear());
+console.log(m1,'mmm')
+
+var arr = [1,2,3,4,5];
+let arr2 = arr.map((item,index) => {
+    console.log(item,'item')
+    console.log(index,'index')
+})
+
+var a1 = new Map();
+console.log(a1);
+a1.set("obj",'aaa');
+a1.set("list","bbb");
+console.log(a1);
+
+
+// entries()
+for(item of a1.entries()) {
+    console.log(item,'aaa')
+}
+
+console.log(a1)

+ 27 - 0
day24/js/4.proxy.js

@@ -0,0 +1,27 @@
+/**
+ * 代理 proxy
+ * 创建代理
+ * const proxy = new Proxy(target,handler)
+ * target 代理的目标对象
+ * handler 包含各种拦截操作的对象
+ */
+var obj = {
+    name: 'LiLi'
+}
+
+var a = new Proxy(obj,{
+    get(target,key,prototype) {
+        // console.log(target,key,prototype,'get1');
+        // return prototype;
+    },
+    set(target,key,value) {
+      // 原对象  当前属性值 代理值
+        console.log(target,key,value,'set1')
+        return target[key] = 'AAA';
+    }
+})
+a.name = 'Lucy';
+
+// console.log(a.get,'a')
+console.log(a,'c')
+// console.log(a.set,'b')