- 博客(46)
- 收藏
- 关注
原创 js中 30 种数组方法
接收两个参数(函数,初始值),第一个函数参数必选,函数参数可传四个参数(total, currentValue, currentIndex, arr),前两个必选,不改变原数组。array.fill(value, start, end),从start开始,到end结尾(不包括end)的所有元素都换成value,value为静态值,会改变原数组。检测数组中有无某元素,有则返回下标,没有返回-1,可传第二个参数,为搜索的起始位置,如果有多个元素则。其中 currentValue 为必传参数,表示当前元素值;
2023-09-05 13:12:30
331
原创 webpack5 (三)
其实就是对 webpack 进行优化,让代码在编译/运行时性能更好1. 提升开发体验2. 提升打包构建速度3. 减少代码体积4. 优化代码运行性能。
2023-09-04 17:00:51
1035
原创 webpack5 (四)
将生产模式和开发模式的配置进行合并,通过 process.env.NODE_ENV 的值来判断当前为生产环境还是开发环境。
2023-09-04 15:58:05
589
原创 webpack5 (二)
是 js 编译器,主要的作用是将 ES6 语法编写的代码转换为向后兼容的 js 语法,以便可以运行在当前版本和旧版本的浏览器或其他环境中。它的配置文件有多种写法:package.json 中的 babel:不需要创建文件,在原有的文件基础上写。babel 会查找和自动读取babel的配置文件,只需要存在一个即可。
2023-08-24 15:25:02
449
原创 webpack5(一)
如果需要webpack进行打包,那么必须在入口文件进行引入。css/less/sass/stylus 都有自己对应的loader,不同的是,如果使用预处理器,预处理器的loader会先将预处理器处理为css文件,然后再继续执行,即将css代码编译成coomonjs模块放入js,再将js中的css文件通过创建style标签的方式加入到html中。1.npm install 需要下载的loader2.配置方式/内联方式(不推荐)module: {rules: [
2023-08-23 17:09:34
535
转载 DNS解析流程
普通用户使用的都是运营商的本地域名服务器,这些服务器一般架设在离用户不远的地方,而且性能都很好,所以一般都会缓存域名解析结果,大约80%的域名解析都会在这一步完成(图中为②)。2)、全球一共有13组根域名服务器(注:这里并不是指13台服务器,是指13个ip地址,按字母a-m编号),根域名服务器不会直接解析域名,二十把不同的解析请求分配给下面的其它服务器来完成。4)、本地dns获得返回的ip地址,再去找对应的顶级域名服务器,顶级域名又把负责该域名的权威服务器ip返回给本地dns(图中为⑤和⑥)。
2023-08-10 18:14:25
631
转载 浏览器缓存 强缓存/协商缓存
不会向服务器发起请求,会看缓存中是否有未过期的缓存,当浏览器去请求某个资源时,通过服务器设置响应头字段或 expires 来设置缓存的时间、缓存类型。当缓存中有未过期的缓存,读取缓存并返回statecode200状态。
2023-08-03 18:18:06
219
原创 页面渲染流程及回流重绘
Dom树就是html结构,里面包含所有的html tag(也包含用js生成的)。CSSOM 样式结构体,浏览器把所有样式(主要包括css和浏览器自带的样式设置)解析成样式结构体,在解析的过程中会去掉浏览器不能识别的样式。将DOM和CSSOM组合构建以后形成Render Tree。
2023-08-03 17:34:19
139
原创 从输入url到页面显示的全过程
4)第四次挥手:客户端接收到申请释放连接的报文后,再向服务器发送一个确认报文,等待服务器收到确认报文,服务器收到确认报文,就会进入关闭状态。如果返回的响应报文的状态为3xx,就需要重定向到其他URL,然后从头开始,然后网络线程会通过safeBrowsing来检查站点是不是恶意站点,如果是,就展示警告页面。1、首先,在输入的过程中,浏览器的UI线程会实时捕捉输入的内容,如果输入的不是网址或者协议不合法的话,那么搜索引擎会合成新的带搜索关键字的URL,准备进行搜索。然后进行布局和绘制,最终将页面呈现在屏幕上。
2023-08-03 17:00:43
1420
原创 事件循环机制和宏任务/微任务?
事件循环是由一个队列组成的,异步任务的回调遵循先进先出,在JS引擎空闲时会一轮一轮地被取出,所以被叫做循环。根据队列中任务的不同,分为宏任务和微任务。事件循环由宏任务和在执行宏任务期间产生的所有微任务组成。完成当下的宏任务后,会立刻执行所有在此期间入队的微任务。浏览器的事件循环由一个宏任务队列+多个微任务队列组成。首先,执行第一个宏任务:全局Script脚本。产生的的宏任务和微任务进入各自的队列中。执行完Script后,把当前的微任务队列清空。完成一次事件循环。
2023-07-31 16:23:43
256
原创 ES6中的Set和Map数据结构
Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者)都可以作为一个键或一个值。通过set方法,向该数据结构内填充数据。
2023-07-31 15:18:56
92
原创 数据结构笔记 第一周
有且仅有一个开始和一个终端结点,并且所有的结点都最多只有一个直接前趋和一个直接后继。一个结点可能有多个直接前驱和直接后继。四种基本的存储结构(顺序和链式的存储结构是重点)在计算时,只要找到基本语句的执行次数就可以了。一对多/多对多 1:n / m:n。每条语句的执行次数 又被称为。如:线性表、队列、栈、串。
2023-07-25 19:02:56
75
原创 computed、watch、methods的区别
4. 在 computed 属性对象中定义计算属性的方法,和取 data 对象里的数据属性一样以属性访问的形式调用,即在页面中使用 {{ 方法名 }} 来显示计算的结果,computed 有返回值,方法的返回值作为属性值;1. computed 所监控的数据是不在 data 中进行声明的,它是基于data 或 props 中的数据通过计算得到的一个新的值,而watch监控的数据来源是data、props 和 computed 中的。3. computed 是带缓存的,而 methods 是没有缓存的。
2023-03-31 21:06:09
557
原创 Vue 组件间进行传值
同样需要引入eventbus,使用 .$on来接收数据,第一个参数名为 发送数据时定义的名字,第二个参数为一个参数,函数的参数就是需要接收的值。引入eventbus,传数据一方使用 .$emit,第一个参数为自定义的事件名,第二个参数为需要传递的数据。对象形式的需要传入数据的数据类型。第一个msg自定义,随意命名,父组件用什么名字传,子组件就用什么名字来接。通过 $emit 传入两个参数,第一个是自定义事件名,第二个是需要传走的值。在组件中通过一个函数来接收,自组件传递过来的值作为这个函数的参数来接收。
2023-03-31 19:00:09
173
原创 让css只在当前组件内生效与如何做样式穿透
如果一个页面中,两个组件定义过相同的类名,那么就修改一个组件中的样式就影响到另一个组件,为了防止出现这种问题,需要给<style>标签中加入 scoped ,变成<style scoped>,它的原理其实就是给节点上加入了 data-v-xxxxx ,即使两个组件定义过相同类名,也会通过 data-v-xxxxx 进行隔离。父元素 /deep/ 子元素。父元素 >>> 子元素。
2023-03-31 14:52:30
1378
原创 什么是ref?对$nextTick()的理解?
ref就是用来获取dom的用法:给dom元素设置一个ref值,通过this.$refs.设定的值来获取到被绑定的dom元素两个打印都会出现这个 id 为 test 的 div 元素。注意:设置的时候用ref,但是在获取值的时候是 $refs。
2023-03-31 14:24:36
162
原创 对keep-alive的理解?
首先,keep-alive 是什么?它是Vue内部自带的一个组件,作用就是用来缓存组件,提升性能。用法:直接将需要缓存的组件用<keep-alive>包裹被包含在 keep-alive 创建的组件,会多出两个生命周期的钩子:activated ---当 keep-alive 包含的组件再次渲染的时候触发deactivated ---当 keep-alive 包含的组件销毁的时候触发。
2023-03-30 16:53:30
114
原创 localStorage、sessionStorage和cookie
对localStorage、sessionStorage和cookie的理解
2023-03-30 15:22:39
127
原创 react 中 state 和 props 的区别
state 和 props 其实都是一个js对象,用来存放信息的,这些信息用来控制组件的渲染输出,这两个的不同点在于 props 是传递给组件的(类似于函数的形参),而 state 是在组件内被组件自己管理的(类似于在一个函数内声明的变量)。从父级接收的 props 和 state 都会覆盖组件内部定义的默认值。
2023-03-29 17:04:22
90
原创 Antd中RangePicker组件弹出的日历中英混杂,月份和周显示为英问题
解决Antd中RangePicker组件弹出的日历中英混杂,月份和周显示为英问题
2022-08-17 15:36:54
4739
6
转载 async/await
async 和 await 在干什么任意一个名称都是有意义的,先从字面意思来理解。async 是“异步”的简写,而 await 可以认为是 async wait 的简写。所以应该很好理解 async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。另外还有一个很有意思的语法规定,await 只能出现在 async 函数中。然后细心的朋友会产生一个疑问,如果 await 只能出现在 async 函数中,那这个 async 函数应该怎么调用?如果需要通过 aw
2022-04-25 14:02:30
106
原创 最常用的HTML标签分类:行内元素和块级元素
1、块级元素divh1,h2,h3,h4,h5,h6pformtableulolmenu2、内联元素spanaimglabelinputtextareabrem 强调i 斜体内联元素与块级元素转换,使用display属性display最常用的有三种取值display:none 设置元素不显示display:block 设置元素为块级元素display:inline-block 设置元素为行内块元素...
2022-04-07 16:16:29
454
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人