![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
高频面试题——八股文集锦
文章平均质量分 68
虽然平时用得少,但是我们当颗合格的卷心菜,也的看啊
咩咩羊10
微光·炬火
展开
-
JS垃圾回收机制(V8)
内存泄漏 内存中的某些对象,后续不再被使用,但是代码里还在使用着引用,无法被回收。若有高频或者长时间的操作,导致该对象被不断创建,对内存的占用越来越高,导致系统剩余可用内存越来越少,这就叫内存泄漏。 可能造成内存泄漏的操作 绑定事件 用完后并没有解绑,但是不释放也没有关系,因为这是在当前页面,生存周期本来就很短,当用户刷新页面或者关闭当前页面时所有内存都会被释放。但是需注意如下场景: 高频操作:会创建很多对象,比如onscroll、onresize、setInterval、循环语句等高频场景里存在的不会原创 2021-08-09 23:46:26 · 288 阅读 · 0 评论 -
BFC知识点
BFC是什么 块级格式化上下文,一个独立的块级渲染区域。不影响外部元素的布局 创建BFC float: != none; position: != static/relative display: inline-block | flex | inline-flex overflow: hidden BFC 其他作用 BFC可以取消盒子margin塌陷 #fa{ width: 200px; height: 300px; background-color: blueviolet; } .son{原创 2021-06-19 16:51:43 · 100 阅读 · 0 评论 -
虚拟DOM中key的原理总结
1.虚拟DOM中key的作用: key是虚拟DOM对象的标识,key 帮助 React 识别哪些元素改变了,比如被添加或删除。因此你应当给数组中的每一个元素赋予一个确定的标识。 当状态中的数据发生变化时,react会根据【新数据】生成【新的虚拟DOM】,随后React进行【新虚拟DOM】与【旧虚拟DOM】的diff比较,比较规则如下: 旧虚拟DOM中找到了与新虚拟DOM相同的key: 1)若虚拟DOM中内容没变,则直接使用之前的真实DOM 2)若虚拟DOM中的内容变了,则生成新的真实DOM,随后替换掉页面原创 2021-06-14 16:14:56 · 263 阅读 · 0 评论 -
ECMAScript2020【ES11】使用教程
2015.6:正式发布ES6 ES2016还包括了一个新的乘方运算的支持,并增加了一个新的方法Array.prototype叫includes。 ECMAScript 2017引入了异步功能 异步函数通过为承诺返回函数提供语法来改善异步编程体验。它还包括对象的静态方法:Object.values,Object.entries,和Object.getOwnPropertyDescriptors。 ECMAScript 2018通过AsyncIterator协议和异步生成器引入了对异步迭代的支持。它还包括四个新原创 2021-05-17 17:42:17 · 478 阅读 · 0 评论 -
前端面试知识点清单【JS+Webpack+浏览器】
模拟实现一个 Promise.finally 介绍下 Promise.all 使用、原理实现及错误处理 设计并实现 Promise.race() ES6 代码转成 ES5 代码的实现思路是什么 介绍下 webpack 热更新原理,是如何做到在不刷新浏览器的前提下更新页面的 为什么普通 for 循环的性能远远高于 forEach 的性能,请解释其中的原因 使用 JavaScript Proxy 实现简单的数据绑定 跨域的解决方案 详细介绍一下cors 本地开发页面,需要请求后台接口,如何跨域传递cookie.原创 2021-06-13 17:21:22 · 103 阅读 · 0 评论 -
React考点清单
待上传……原创 2021-06-13 16:42:57 · 170 阅读 · 0 评论 -
【2期】JS 执行机制+code讲解
tips js是单线程,异步是用同步方法模拟实现的。 event loop 是js的执行机制 任务 |````宏任务:整体代码script、setTimeout、setInterval、 I/O 操作、UI 渲染等 任务-| |__微任务: Promise.then、process.nextTick、catch、finally 一个event loop有一个或者多个task队列。当用户代理安排一个任务,必...原创 2020-09-07 16:31:59 · 347 阅读 · 0 评论 -
发布-订阅模式实现【js设计模式】
代码demo var Event = (function() { var _callbacks = {}, listen, emit, remove; //_callbacks 缓存所有订阅者的回调函数 listen = function(eventName, fn) { if(!_callbacks[eventName]) { _callbacks[eventName] =[fn]; } else{ _call原创 2021-06-08 17:21:30 · 111 阅读 · 0 评论 -
【7期】彻底搞懂JS原型继承之——new 关键字都干了啥
实例化构造函数,获取对象 新建了一个对象 obj 这个新对象被执行[[prototype]]连接,即将obj的_proto_指向构造函数的prototype对象 将构造函数的作用域赋值给obj,即将构造函数this指向obj 执行构造函数中的代码(为新对象obj添加属性) 如果函数没有返回其他对象,那么返回新对象 obj // 定义构造函数 function Fa (attr1, attr2) { this.attr1 = attr1 this.attr2 = attr2原创 2020-09-11 17:12:24 · 200 阅读 · 0 评论 -
浏览器的重绘与回流(Repaint、Reflow)
React 中 setState 什么时候是同步的,什么时候是异步的? 下面的代码输出什么? class Example extends React.Component { constructor() { super(); this.state = { val: 0 }; } componentDidMount() { this.setState({val: this.state.val + 1}); console.log(this.s原创 2021-04-28 19:54:19 · 170 阅读 · 0 评论