obsidian-computer
前端识记

前端小记

Babel是专门用来将新语法转换成浏览器支持的旧语法,就是修改语法结构的一个解析。Polyfill是专门对浏览器旧版本中没有提供的API进行一个扩展

最后更新 2026年8月25日

Babel是专门用来将新语法转换成浏览器支持的旧语法,就是修改语法结构的一个解析。Polyfill是专门对浏览器旧版本中没有提供的API进行一个扩展

// babel
let res = response.content?.res;
// pollyfill
Array.newFunction = function(){}

事件循环执行顺序

一轮事件循环的顺序为同步代码 清空所有微任务 渲染浏览器 取一个宏任务 再清空微任务

先执行同步任务,然后执行微任务。宏任务,微任务有Promise.then (await()后面的代码)

async/await的本质

await x = promise.resolve(x).then(后续代码) Await后面整段都是微任务 x 为任务函数

Promise              async/await

.then()       ≈      await
.catch()      ≈      try/catch
Promise       ≈      async function 的返回值
 Promise.resolve().then(()=>{
	return Promise.resolve('inner')
}.then(()=>{
	console.log(213)
})

Promise.then(()=>{log(1)}).then(()=>{log(2)})

注意,在这两段代码中,下面它会返回后立即执行所有的任务, 第一个Promise.resolve返回了一个新的任务对象,它会放到下一轮的微任务中,所以它会放在比较后面执行,而第二个它就能返回了以后,能够接着接续执行下面的内容

inner ,1,2,213

Promise

一定处于pending、fulfilled、rejected其中一个状态。

new Promise()是打包一个流程的异步方法,具体内容详见 手写Promise

const myPro = new Promise((resolve,reject)=>{
	settimeout(()=>{resolve('ok')},200)
})

myPro.then(console.log)

以前记了N遍,需要再经常看看的

  1. fn.call是直接一个一个参数返回,apply是可以把所有参数作为一个数组返回,它们都是立即执行的;bind是传入这个新的This等内容,返回一个新的函数

  2. 节流和防抖,节流是限频,间隔是固定的,如果你提前到达,也需要等到这个规定的间隔时间到了才能刷新。但是防抖的话,其实就是按照最后一刻,只要来了就重新倒计时

  3. for of 遍历 值 ,for in 遍历键(可迭代对象)(记忆方式:python for in遍历字典也是遍历键) 语法:

for(const value of source){}

所以对数组forin就是遍历下标,但是注意for...of因为是遍历值,同时对象通过键访问,所以对象不支持通过for of遍历

CSS

包含块

首先定位position一共有四种方式,分别为relative、 absolute、 fixed和sticky Relative的定位就在原来自己的位置, Absolute则为最近的非static祖先, Fixed即为默认为视口, Sticky为最近的滚动容器

Fixed的一些提醒

Fixed默认是为视口,但是如果它的祖先使用了transform或者will change transform,那么它可能会按照这个祖先来定位。所以说有的时候可能会导致视口定位固定失效的问题

反向链接(0)

还没有笔记链接到这里。在 Obsidian 里用 [[笔记名]] 引用它,这里就会出现,关系图谱上也会多出一条连线。

评论

关系图谱

工程化与性能优化网络React快速总结This指向TypeScript 快速上手Web components00-总览与阅读路线01-reactivity-effect与依赖收集02-reactivity-reactive-ref-computed03-runtime-挂载流程04-runtime-组件系统05-runtime-更新与diff06-compiler-三段式07-方法论-如何啃大型开源项目README前端小记01-js-core02-browser03-network04-css-html05-react06-vue07-engineering08-scenarios09-handwritten-js10-algorithms11-ai-frontend手写Promise踩坑记录前端识记AI总结mini-vue-reading前端面试

On this page