2022.04.27
一个 tcp 连接能发几个 http 请求?
HTTP 1.0 版本协议,一般情况下,不支持长连接,因此在每次请求发送完毕之后,TCP 连接即会断开,因此一个 TCP 发送一个 HTTP 请求, 而如果是 HTTP 1.1 版本协议,支持了长连接,因此只要 TCP 连接不断开,便可以一直发送 HTTP 请求,持续不断,没有上限; 同样,如果是 HTTP 2.0 版本协议,支持多用复用,一个 TCP 连接是可以并发多个 HTTP 请求的,同样也是支持长连接,因此只要不断开 TCP 的连接,HTTP 请求数也是可以没有上限地持续发送
virtual dom 的优势在哪里 虚拟 Dom 的优点
dom 引擎、js 引擎相互独立,但又工作在同一线程(主线程)js 代码调用 dom api 必须挂起 js 引擎、转换传入参数数据、激活 dom 引擎,dom 重绘后在转换可能有的返回值,最后激活 js 引擎并继续执行若有频繁的 dom api 调用,且浏览器厂商不做“批量处理”优化,引擎间切换的单位代价将迅速积累若其中有强制重绘的 dom api 调用,重新计算布局、重新绘制图像会引起更大的性能消耗。
虚拟 dom 和真实 dom 的区别和优化:
虚拟 dom 不会立马进行排版与重绘操作
虚拟 dom 进行频繁修改,然后一次性比较并修改真实 dom 中需要修改的部分,最后在真实 dom 中进行排版与重绘,减少过多 dom 节点排版与重绘损耗 3.虚拟 dom 有效降低大面积真实 dom 的重绘与排版,因为最终与真实 dom 比较诧异,可以只渲染局部。
common.js 和 es6 中模块引入的区别
common。js(c.js)是一种规范,最初被应用于 node.js, 成为 node.js 的模块规范,在 es6 出来之前,前端也实现了一套相同的模块规范(例如 amd, sea.js【实现的就是】),自从 es6 起,引入了一套新的 es6 规范,在语言标准的层面上实现了模块功能,而且实现相当简单,但我们在 webpack 中使用的 export import,会经过 babel 转换为 commonjs 规范。
commonjs 模块输出的是一个值的拷贝,es6 模块输出的是值的引用。
commonjs 模块是运行时加载,es6 模块是编译时输出接口
commonjs 是单个值导出,es6 module 可以导出多个
commonjs 是动态语法可以写在判断里,es6 module 静态语法只能写在顶层
commonjs 的 this 是当前模块,es6 module 的 this 是 undefined
如何选择图片格式,例如 png, webp
图片格式 压缩方式 透明度 动画 浏览器兼容 适应场景 JPEG 有损压缩 不支持 不支持 所有 复杂颜色及形状、尤其是照片 GIF 无损压缩 支持 支持 所有 简单颜色,动画 PNG 无损压缩 支持 不支持 所有
如何判断 0.1 + 0.2 与 0.3 相等?
ECMAScript 中的 Number 类型使用 IEEE754 标准来表示整数和浮点数值。所谓 IEEE754 标准,全称 IEEE 二进制浮点数算术标准,这个标准定义了表示浮点数的格式等内容。 在 IEEE754 中,规定了四种表示浮点数值的方式:单精确度(32 位)、双精确度(64 位)、延伸单精确度、与延伸双精确度。像 ECMAScript 采用的就是双精确度,也就是说,会用 64 位来储存一个浮点数。
最后更新于
这有帮助吗?