摘要:
关键渲染路径是浏览器将 HTML,CSS 和 JavaScript 转换为屏幕上的像素所经历的步骤序列。优化关键渲染路径可提高渲染性能。关键渲染路径包含了 文档对象模型(DOM),CSS 对象模型 (CSSOM),渲染树和布局。 在解析 HTML 时会创建文档对象模型。HTML 可以请求 JavaS 阅读全文
摘要:
看了很多方案,使用伪元素的方案最合理,简单,容易理解 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta 阅读全文
摘要:
在看 js 事件循环的时候,看到一个有趣的 promise then 执行顺序的题,想了好久,终于想明白了,这里记录一下。 大家先想下这里的执行顺序是什么。 new Promise(resolve => { // 1 setTimeout(()=>{ // 2 console.log(666); / 阅读全文
摘要:
window.event 是一个由微软 IE 引入的属性,只有当 DOM 事件处理程序被调用的时候会被用到。它的值是当前正在处理的事件对象。 据实际测验发现,window.event 在异步事件触发的时候,才会有值,否则为 undefined,且在一个事件循环之中,如果下一个宏任务开始,下一个宏任务 阅读全文
摘要:
document.activeElement获取当前获得焦点的元素: IE:document.activeElement可获得所有聚焦的元素,包括input、textarea、div等。IE只关心光标聚焦的位置,不关心聚焦元素的性质。 chrome:document.activeElement仅对i 阅读全文
摘要:
背景 在 git 提交过程中,难免会遇到一种情况,修改已经提交了,但提交部分还提交了部分本不该改动的文件,这时候如果统一恢复到某个历史版本,会把修改一起恢复,所以我们可以仅恢复某一个或某几个文件到某个历史版本。 命令 # -- 后面为想要查看单个文件修改历史的文件路径 git log -- src/ 阅读全文
摘要:
概念 performance.now():返回值表示为从time origin之后到当前调用时经过的时间, time origin: 时间源, 时间源是一个可以被认定为当前文档生命周期的开始节点的标准时间,计算方法如下: 如果脚本的 global object 是 Window, 则时间源的确定方式 阅读全文
摘要:
概念 window.requestIdleCallback() 方法插入一个函数,这个函数将在浏览器空闲时期被调用。这使开发者能够在主事件循环上执行后台和低优先级工作,而不会影响延迟关键事件,如动画和输入响应。函数一般会按先进先调用的顺序执行,然而,如果回调函数指定了执行超时时间timeout,则有 阅读全文
摘要:
22. 括号生成 难度中等 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1 输出:["()"] 阅读全文
摘要:
excel 多列内容拼接使用 & 即可,但是对于符合拼接,需要单独加双引号 例如想要拼接 A2 和 B2 的内容生成一个新列,A2 内容为 320,B2 内容为 480,我们生成新列,需要拼接两列内容,中间同时拼接 * ,新列公式如下: =A2&"*"&B2 生成结果为: 320*480 阅读全文
摘要:
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 示例 1: 输入:s = "()"输出:true示例 2: 输入:s = 阅读全文
摘要:
先来了解下react hooks 闭包陷阱: 原因: 闭包陷阱产生的原因就是 useEffect 等 hook 里用到了某个 state,但是没有加到 deps 数组里,这样导致 state 变了却没有执行新传入的函数,依然引用的之前的 state。 解决方式一: 把 state 设置到 deps依 阅读全文
摘要:
一、做好效果如下 二、思路分析 主要实现方法: transform: rotate(xxdeg) 实现圆环,如果单通过一个圆环来实现,则整个圆环上的颜色无法实现部分动,这时候就需要遮罩 左右各一个矩形区域,设置 overflow: hidden; 里面放一个圆,两个举行的总宽度为一个圆的直径 每个矩 阅读全文
摘要:
实际开发体验中,大家都可以明显感觉到 rollup 都比 webpack 启动快多了,实际是什么原因? 个人理解: 1. vite 在开发阶段,采用了 esbuild 依赖预构建,所以大家会感觉到首次 run dev 的时候会稍微慢一些,如果 package.json 中依赖的包改变了,还会重新构建 阅读全文
摘要:
vue3 随着Vue3.0版本的发布,我们在使用或者对其源码进行阅读时会惊讶的发现,它又又又双叒叕变强了,尤大本人在直播中也提到新的Vue会比老的Vue有1.3到2倍的提升,它的更新机制会更加的快速敏捷。下面就抛砖引玉,给大家稍微介绍下在更新机制方面主要升级的两个点: 节点移动优化 要从一道算法题说 阅读全文
摘要:
一、引子 这是关于一把玄铁重剑,一本经书,和一套轻功步法的故事。让我们先从普通程序猿们的日常工作内容说起,一般来说,程序猿们大部分时间关注的可能不是研发某个具体算法,这是算法工程师/数学家们擅长的东东。程序猿的工作主要是通过调用编程环境中现成的工具函数或接口来实现具体的应用功能,将各个底层接口或算法 阅读全文
摘要:
概念 Object.freeze() 方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回 阅读全文
摘要:
背景 工作中,默认提测分支叫 staging,每次提测,都需要将开发分支合并到 staging 提测分支,并 push,才算提测,当修复一些 bug 之后,免不了反复执行同一套 git 命令,于是写一个简单的 shell 脚本,减少重复工作。 注意 本脚本仅适用于开发分支合并到提测分支(目标分支), 阅读全文
摘要:
watch和 watchEffect watch watch显式指定依赖数据,依赖数据更新时执行回调函数 具有一定的惰性(lazy) , 第一次页面展示的时候不会执行,只有数据变化的时候才会执行(设置immediate: true时可以变为非惰性,页面首次加载就会执行) 监视ref定义的响应式数据时 阅读全文
摘要:
react useMemo和 useEffect和 useCallback useEffect effect只能在DOM更新后触发 useMemo 传入 useMemo 的函数会在渲染期间执行,即在DOM更新前触发的,就像官方所说的,类比生命周期就是shouldComponentUpdate use 阅读全文