随笔分类 - 前端知识库
为了面试前端工作而准备的知识点总结
摘要:这篇文章介绍了JavaScript模块化的发展历程及各种方案,包括IIFE、CommonJS、AMD、CMD、UMD及ESM。对比了各方案的特点和优缺点。同时,深入剖析了Node.js中CommonJS的模块加载机制。
阅读全文
摘要:本文探讨了JavaScript中Promise的基础用法和各种静态方法的应用场景。从解决异步编程中的回调地狱问题,到链式调用、并发请求控制,再到最新的Promise.allSettled和Promise.any的应用。每种方法均通过代码示例和详细的应用场景进行了展示。
阅读全文
摘要:本文探讨了Node.js事件循环中的timers阶段,分析了定时器的管理和执行过程。通过源码解析,揭示了定时器超时检查、回调执行以及定时器类型(setTimeout与setInterval)的内部实现机制。文章旨在帮助读者理解Node.js中定时器的工作原理及其在事件驱动编程中的重要性。
阅读全文
摘要:Node.js利用单线程非阻塞的事件循环,通过委派耗时任务给系统内核来保证高效执行。它提供了多种异步API如setTimeout、setImmediate和process.nextTick,利用这些API可以优化代码性能,并避免阻塞。这篇文章探讨了Node.js事件循环的工作原理,旨在帮助开发者更好地理解和应用异步编程技术。
阅读全文
摘要:JavaScript 是一种弱类型语言,开发者经常需要判断变量的数据类型。本文介绍了 typeof、instanceof、Object.prototype.toString.call 等常用的判断方法,并讨论了 typeof null 返回 object 的历史原因。此外,还涵盖了如何判断箭头函数、async 函数和类。
阅读全文
摘要:RFC规范并没有指明HTTP协议的GET方法是否不能携带body数据,但是对于浏览器环境下的XHR和fetch API的规范来说,它们的规范限制了它们不能在GET中携带body,而postman或apifox等接口测试工具则由于不遵循这些规范而可以携带body。
阅读全文
摘要:文章介绍了package.json中依赖的版本号的含义,以及如何选择性地更新依赖版本。
阅读全文
摘要:JS中有一些操作可以动态地执行JS代码,并修改或新建词法作用域,这种操作虽然带来了更多的灵活性,但是会严重地影响到性能。
阅读全文
摘要:前端访问页面首次遇到域名都需要经历DNS解析,大多数解析可以通过预先异步解析进行优化,减小耗费时长。
阅读全文
摘要:在 Vue 中说到v-bind大多数时候都是想到template中动态绑定script中的响应式数据。但其实在单文件组件(SFC)中,
阅读全文
摘要:Vite脚手架在打包代码的时候,会把源代码里对于静态资源的访问路径转换为打包后静态资源文件的路径。动态访问静态资源通常导致读取不到文件,因为源代码中使用的路径是src中的,而打包之后静态资源带上了文件指纹,代码中的路径却没有随之改变。
阅读全文
摘要:结合线性渐变(linear-gradient)和背景截取(background-clip)实现渐变色的字体,这种方法适用于iconfont。
阅读全文
摘要:渐进增强是指先针对低级浏览器保证基本功能,再针对高级浏览器追加功能;而优雅降级是指针对那些最高级、最完善的浏览器来设计网站,一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
阅读全文
摘要:响应式设计旨在编写一套代码,在不同设备上都能有良好的表现。响应式设计有两种思路:桌面端优先和移动端优先,它们的区别是先实现一种布局,再使用媒体查询设置断点,实现不同屏幕尺寸下的布局,逐渐过渡到另一端。即由大到小和由小到大的区别。
阅读全文
摘要:当有多条冲突的CSS规则指向同一元素,则浏览器会计算特异性选择更具体的规则。如果特异性相同,则按照代码顺序,靠后的规则覆盖前面的规则。
阅读全文
摘要:重排和重绘是前端关于渲染性能优化中比较重要的两个概念,其中重排会导致较大的性能开销,应尽量避免。
阅读全文
摘要:TS中的类系统对比起JS完善了许多,知识点包括但不限于可访问性、继承类、实现接口、访问器、泛型、抽象类。
阅读全文
摘要:对象类型通常使用interface声明,可以设置属性为可选的或者只读的,可以设置索引签名。从简单类型生成复杂类型可以使用类型继承或者交集类型。提高类型的泛用性可以使用泛型。
阅读全文
摘要:TS中的函数需要声明参数列表和返回值的类型,除此只要,还有关于泛型、可选参数、不定长参数列表、回调函数、this、重载的声明规则。
阅读全文
摘要:一个变量如果声明为联合类型,而后续操作需要针对其具体的单一类型做不同处理,这个过程就叫做类型收窄(Narrowing)
阅读全文

浙公网安备 33010602011771号