- 博客(7)
- 收藏
- 关注
原创 js深浅拷贝
深拷贝递归function deepClone(source){ const targetObj = source.constructor === Array ? [] : {}; // 判断复制的目标是数组还是对象 for(let keys in source){ // 遍历目标 if(source.hasOwnProperty(keys)){ if(source[keys] && typeof source[keys] === 'object'){ //
2020-09-03 14:41:11
215
1
转载 数组扁平化
let a = [1, [2, 3], [4, [5, [6, 7, 8]]], [9, 10]];1、ES6方法let aRes= a.flat(Infinity); 2、for循环 递归function flatten(arr) { var res = []; for (let i = 0, length = arr.length; i < length; i++) { if (Array.isArray(arr[i])) { res = [...res,
2020-09-03 14:17:10
120
1
转载 js数据类型
数据类型最新的 ECMAScript 标准定义了 8 种数据类型:7 种原始类型:BooleanNullUndefinedNumberBigIntStringSymbol和 ObjectBigInt 类型是啥。。BigInt类型是 JavaScript 中的一个基础的数值类型,可以用任意精度表示整数。使用 BigInt,您可以安全地存储和操作大整数,甚至可以超过数字的安全整数限制。BigInt是通过在整数末尾附加 n 或调用构造函数来创建的。通过使用常量Number.MAX_S
2020-09-02 15:47:45
155
1
转载 手写ajax
xhr 具有以下常用属性:responseText: 请求返回的数据内容responseXML: 如果响应内容是"text/xml"“application/xml”,这个属性将保存响应数据的 XML DOM文档status: 响应的HTTP状态,如 200 304 404 等statusText: HTTP状态说明readyState: 请求/响应过程的当前活动阶段timeout: 设置请求超时时间xhr.readyState==0 尚未调用 open 方法xhr.readyState=
2020-09-02 15:30:04
124
1
转载 回流和重绘
html 加载时发生了什么在页面加载时,浏览器把获取到的HTML代码解析成1个DOM树,DOM树里包含了所有HTML标签,包括display:none隐藏,还有用JS动态添加的元素等。浏览器把所有样式(用户定义的CSS和用户代理)解析成样式结构体DOM Tree 和样式结构体组合后构建render tree, render tree类似于DOM tree,但区别很大,因为render tree能识别样式,render tree中每个NODE都有自己的style,而且render tree不包含隐藏的节
2020-09-02 15:17:30
168
1
转载 从 URL 输入到页面展现到底发生什么?
原文:从 URL 输入到页面展现到底发生什么?总体来说分为以下几个过程:DNS 解析:将域名解析成 IP 地址TCP 连接:TCP 三次握手发送 HTTP 请求服务器处理请求并返回 HTTP 报文浏览器解析渲染页面断开连接:TCP 四次挥手一、...
2020-09-02 09:25:06
153
1
转载 浏览器缓存
前言缓存过程浏览器发起HTTP请求 – 服务器响应该请求,浏览器第一次向服务器发起该请求后拿到请求结果,会根据响应报文中HTTP头的缓存标识,决定是否缓存结果:缓存类型强制缓存协商缓存强制缓存当浏览器向服务器发起请求时,服务器会将缓存规则放入HTTP响应报文的HTTP头中和请求结果一起返回给浏览器,控制强制缓存的字段分别是Expires和Cache-Control,其中Cache-Control优先级比Expires高。ExpiresExpires是HTTP/1.0控制网页缓存的字段
2020-09-01 19:54:29
163
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人