变量提升 变量提升: 所有的声明都会提升到作用域的最顶上去。 函数声明的优先级高于变量声明的优先级,并且函数声明和函数定义的部分一起被提升。 一个变
详解 https://juejin.im/post/5df36ffd518825124d6c1765 https://juejin.im/post/5d8db37051882530d438535c https://juejin.im/post/5c86ec276fb9a04a10301f5b https://zhuanlan.zhihu.com/p/30669007 概念 Hot Module Replacement(以下简称 HMR) 当你对代码进行修改并保存后,webpack 将对代码重新打包,并将新的模块发送到浏
箭头函数跟普通函数的区别 箭头函数没有 this。 函数不会创建自己的 this,它只会从自己的作用域链的上一层继承 this 通过 call 或 apply 调用不会改变 this 指向。
call 更改 this 指向,第一个参数作为函数的 this 指向,其余参数作为函数的参数,执行参数。 object.call(obj,arg1,arg2,...) 基本思路 将函数作为对象的属性 执行函数 删除函数 实现 在线:http
一句话总结 BFC是一个隔离的独立容器,内部的元素与外界的元素互不干扰。 前置知识 常见定位方案 普通流 (normal flow) 在普通流中,元素按照其在 HTML 中的先后位置至
本质 diff本身就是上一帧的元素树与当前帧的元素树进行比对。 react 正常两棵树完全比对的算法复杂度是O(n 3 )。 将两颗树中所有的节点一一对比需要O
一句话总结 React内部实现的一套状态更新机制。将同步的更新变为可中断的异步更新。支持任务不同优先级,可中断与恢复,并且恢复后可以复用之前的
原文:https://www.jianshu.com/p/54cc04190252 总结 优先级 持久化 命中规则 作用范围 Memory Cache 1 No URL Navigation Service Worker 2 Yes 自定义
cookie 登陆后后端生成一个sessionid放在cookie中返回给客户端,并且服务端一直记录着这个sessionid,客户端以后每次请求都会带上
Bhwa233 published on included in js 模块化主要是用来抽离公共代码,隔离作用域,避免变量冲突等。 无模块化 CommonJS规范 AMD规范 CMD规范 ES6模块化 适用 服务端 浏览器端 浏览
概念 发布-订阅模式其实是一种对象间一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都将得到状态改变的通知。 订阅者(Subsc
重绘 DOM样式发生了变化,而不会影响布局时会触发重绘,而不会触发回流。重绘由于DOM位置信息不需要更新,省去了布局过程,因而性能上优于回流 回
模块安装过程 查找此模块是否已经在node_modules中安装过,然后再.npm 缓存中查看是否有同版本缓存 如果有缓存,直接使用缓存 没有缓存去
一图总结 基本概念 消息类型 描述 ACK acknowledge确认标志,为1表示确认号有效,为0表示报文中不包含确认信息,忽略确认号字段。帮助对方确认
概念 HTTP是一种超文本传输协议(Hypertext Transfer Protocol),HTTP是一个基于TCP实现的应用层协议。一个两点之间传输数据的约
js是单线程语言,一次只能进行一个任务。js通过事件循环来解决异步任务。 1. 回调函数(callback) setTimeout(() => { callback() }, 1000) 缺点:回调地狱,不能用 try catch
作用 解决单线程的js对异步任务的问题。 机制 js中的事件触发器维护宏任务和微任务两个队列,微任务的优先级高于宏任务。 每次宏任务执行完后都会执行
常用的隐藏方法: opacity :0 display :none visibility :hidden 设置 fixed 并设置足够大负距离的 left top 使其“隐藏” 用层叠关系 z-index 把元素叠在最底下使其“隐藏”。 前三种方法的一些区别 opacity: 0 visibility:
防抖(debounce) 作用:触发多次事件,只执行最后一次。 原理:通过setTimeout延迟执行事件,每次触发函数判断定时器是否存在,存在
总结 Object.prototype.toString.call(obj)最准确。 typeof 只能检测基本数据类型。 利用 typeof 来判断number, string, object, boolean, function,