Skip to content

Commit d0fca35

Browse files
committed
修改文档
1 parent fccee70 commit d0fca35

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
### Map
2+
> Map产生原因?
3+
>
4+
> JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。为了解决这个问题,ES6 提供了 Map 数据结构,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现
5+
6+
### WeakMap
7+
> WeakMap结构和Map相似,也是用于生成键值对的集合
8+
> WeakMap只接受对象作为键名(null除外),不接受其他类型的值作为键名。
9+
> WeakMap的键名所引用的对象都是弱引用,即垃圾回收机制不将该引用考虑在内。因此,只要所引用的对象的其他引用都被清除,垃圾回收机制就会释放该对象所占用的内存。也就是说,一旦不再需要,WeakMap 里面的键名对象和所对应的键值对会自动消失,不用手动删除引用
10+
> 总之,WeakMap的专用场合就是,它的键所对应的对象,可能会在将来消失。WeakMap结构有助于防止内存泄漏。
11+
12+
WeakMap 结构与 Map 结构类似,也是用于生成键值对的集合。
13+
14+
- 只接受对象作为键名(null 除外),不接受其他类型的值作为键名
15+
- 键名是弱引用,键值可以是任意的,键名所指向的对象可以被垃圾回收,此时键名是无效的
16+
- 不能遍历,方法有 get、set、has、delete
17+
18+
![pic](../image/vue%E5%8F%8C%E5%90%91%E6%95%B0%E6%8D%AE%E7%BB%91%E5%AE%9A.png)
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// new一个WeakMap
2+
const wp = new WeakMap()
3+
const obj1 = {foo:1}
4+
wp.set(obj1, 'this is value')
5+
console.log(wp.get(obj1));
6+
7+
// WeakMap 也可以接受一个数组,
8+
// 作为构造函数的参数
9+
const k1 = [1, 2, 3];
10+
const k2 = [4, 5, 6];
11+
const wm2 = new WeakMap([[k1, 'foo'], [k2, 'bar']]);
12+
console.log(wm2.get(k2)); // "bar"
13+
14+
// WeakMap 必须接受对象作为key
15+
// wp.set(1,2) // TypeError: Invalid value used as weak map key
16+
17+
// WeakMap 的键名所指向的对象,不计入垃圾回收机制, 这是为了解决内存泄露问题
18+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
### 从输入URL到页面展现数据,发生了什么?
2+
#### 技术蛋老师版
3+
1. 我们在游览器输入的URL还不能找到服务器的地址(服务器IP地址),URL是为了方便我们更快记住服务器地址,是服务器IP地址的别名
4+
2. 我们需要进行DNS解析:把URL地址 解析为 服务器IP地址 这一个过程就是DNS解析,
5+
3. 虽然我们知道具体IP地址,但是在正式发送数据之前,还是得建立TCP连接,在发送数据之前建立数据通道,于是就有了三次握手
6+
4. 建立连接后,游览器是会发送HTTP请求报文给服务器,发送请求报文
7+
5. 服务器收到HTTP请求报文,服务器处理请求报文,并作出响应,生成响应报文
8+
6. 游览器在接收服务器的响应以后,就会进行页面渲染,即:解析接收到的HTML,CSS,JavaScript等文件,生成页面内容
9+
10+
11+
#### 知识点
12+
1. DNS:其实就是一个数据库,这个数据库记录着很多IP地址和对应的URL,这样大家就能通过DNS查找到对应的IP地址,有了IP地址,我们就可以在互联网中找到指定的服务器
13+
2. 请求报文的格式:请求行, 请求头部, 空行, 请求数据,
14+
1. 请求行:请求方法,请求地址,HTTP协议
15+
2. 请求头部:关于游览器的信息,键值对组成
16+
3. 空行:表示没有请求头部了
17+
4. 请求数据:真正的发送给服务器的请求数据
18+
3. 响应报文:
19+
1. 状态行:三位数字,例如:404 Not Found
20+
2. 响应头部:键值对组成,一行一对,
21+
3. 空行:表示下面没有响应头部
22+
4. 响应数据:响应游览器的数据
23+
24+
#### 参考
25+
技术蛋视频:https://www.bilibili.com/video/BV1s44y117vK/?spm_id_from=333.788&vd_source=ce628a5bd43df277d141676215ef5ff3
26+
掘金文章:https://juejin.cn/post/6905931622374342670

0 commit comments

Comments
 (0)