![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS
文章平均质量分 62
曲径通幽~
专注,自制
展开
-
排查页面的内存泄漏
前言总所周知,js是有垃圾回收机制的,大致分为标记清除和引用计数,目前主流浏览器都用的是标记清除。定义标记清除:垃圾回收器每个一段时候会扫描一次内存,这个时间很短。在扫描过程中,垃圾回收器会把内存中所有的变量加上标记,然后如果有你需要用到的内存,垃圾回收器就会把对应内存的标记删掉,之后将有标记的内存全部回收删除。这套机制就是垃圾回收机制,这个清理工作是高频操作。(通常全局变量是不会被自动回收的)内存泄漏就是指由于疏忽或程序的某些错误造成未能释放的已经不再使用的内存的情况。简单来说就是一个变量已经不原创 2021-04-27 16:09:39 · 913 阅读 · 2 评论 -
函数防抖,函数节流
我又双叒叕来捡起一切的老知识了~今天主要回顾的是:作为为数不多的面试中高频问题且实际工作经常用到的——函数防抖,节流首先科普一下函数防抖,节流的概念:函数防抖:就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。函数节流:限制一个函数在一定时间内只能执行一次。常见应用场景函数防抖的应用场景搜索框搜索输入。只需用户最后一次输入完,再发送请求手机号、邮箱验证输入检测窗口大小Resize。只需窗口调整完成后,计算窗口大小。防止重原创 2021-03-15 16:17:11 · 121 阅读 · 0 评论 -
JS-reduce 使用大全
• 定义:对数组中的每个元素执行一个自定义的累计器,将其结果汇总为单个返回值。• 形式:arr.reduce( ( t, v, i, a) => {}, initValue)• 参数:• callback:回调函数• initValue: 初始值• 回调函数的参数• total( t ): 累计器完成计算的返回值。• value(v):当前元素• index(i):当前元素的索引• array(a):昂铅元素所属的数组对象• 运行过程:以 t 作为累计结果的初始值,不设置t则以数组原创 2021-01-14 17:23:09 · 305 阅读 · 0 评论 -
Promise实现
"use strict";// let p = new Promise((resolve, reject)=>{// resolve('成功了')// })// p.then((result) => {// console.log(result)// })// console.log(p,Promise)class Promise1 { constructor(executor) { this['[[PromiseStatus]]'] =原创 2020-08-05 13:59:21 · 143 阅读 · 0 评论 -
React Hook的useCallback,memo,usememo的使用
1、useCallback每当组件重新渲染的时候,我们之前定义的函数就会被重新声明一次,即使这个函数不需要做出改变。这时可以使用useCallback。useCallback主要用于缓存一个函数。useCallback接收两个参数,第一个参数为一个回调函数,第二个参数为依赖数组。只有当依赖数组中的成员发生变化时,才进行重新声明该回调函数。一个简单的demomport React,{useC...原创 2020-04-19 12:09:50 · 359 阅读 · 0 评论 -
跨域科普以及JSONP跨域方法
首先科普一下域,这里只说前端的域。前端的域是指服务器在网络上占据的地址。跨域指的是浏览器请求了服务器A的某个页面,在操作该页面时,发送了一个请求B服务器的资源,这种现象就叫做跨域。如何更详细的判定是否跨域呢?当协议(http/https),端口或域名中有任何一个不同时,就视为跨域了。为什么要进行跨域?浏览器针对跨域设置了一个策略叫同源策略:原则上只允许请求同一个服务器的资源。注意,静态...原创 2019-12-20 10:16:30 · 106 阅读 · 0 评论