标签:学习

883 篇文章

javascript09-03
阅读

JavaScript 内存泄漏:识别与防范

导读 内存泄漏是指程序在不再需要某些对象时,未能释放这些对象所占用的内存,导致内存占用持续增加,最终可能导致系统性能下降甚至崩溃。 在 JavaScript 中,由于其垃圾回收机制(Garbage Collection),内存管理通常由运行时环境自动处理。然而,内存泄漏仍然可能发生,特别是在长时间运行的应用程序中。本文将介绍JavaScript内存泄漏的常见原因及其预防方法。 常见的内存泄漏类型 以下是 JavaScript 中一些常见...

#学习#面试
javascript09-03
阅读

Web浏览器中的JavaScript事件循环机制

JavaScript是一门单线程语言,但通过事件循环(Event Loop)机制,它能够处理异步操作,实现非阻塞的I/O模型。让我们深入了解Web浏览器中的事件循环机制。 事件循环的基本概念 事件循环主要由以下几个部分组成: 1. 调用栈(Call Stack):用于存储正在执行的函数调用。 2. 堆(Heap):用于存储对象。 3. 任务队列(Task Queue): 宏任务队列(Macrotask Queue) 微任务队列(Micr...

#学习#面试
vite工具09-03
阅读

为什么vite能够让浏览器识别.vue后缀文件

本文将从 的源码带着大家一起分析我们在使用vite开发Vue项目的时候vite所处理的一些流程,本文不会讲解API的使用,因为本文的难度偏难,如果仅仅是想学习如何配置vite,本文可能不太适合您。 在阅读本文之前,请确保你对vite的基本原理有一定的了解(不一定是了解源码,但是至少要对vite的整体运行过程有一个较为清楚的认识)。众所周知,在 的的生态中,我们通过Vue提供的Loader,分别对Vue单文件组件的template、scr...

#学习#面试
javascript09-03
阅读

从JavaScript执行原理到作用域与闭包

闭包 是JavaScript中非常重要的一个概念,MDN中提到闭包(closure)是一个函数以及其捆绑的周边环境状态(lexical environment,词法环境)的引用的组合。换而言之,闭包让开发者可以 从内部函数访问外部函数的作用域 。在 JavaScript 中,闭包会随着函数的创建而被同时创建。看起来非常晦涩难懂,不易理解。今天写下这篇文章就是想从原理上深入探索,彻底弄明白什么是闭包。 JavaScript执行三阶段与变量...

#学习#面试
javascript09-03
阅读

你的瀑布流还不够懒

无限加载的商品瀑布流是电商最场景的最常用、最重要的组件,因此有一个高性能的瀑布流组件就变得无比重要 使用 Grid 布局,赢在起跑线 Grid 布局实现响应式非常简单,纯 CSS 实现,不依赖 JavaScript,性能优化赢在起点上 使用 IntersectionObserver 实现懒加载 传统的懒加载通过监听 scroll 事件判断目标元素是否接近/出现在可视区,发起异步请求、加载更多的卡片。而现代浏览器可以使用浏览器原生的 In...

#学习
react09-03
阅读

解决 antd5 在低版本浏览器中部分 css 样式丢失问题

因为解决 antd5 在低版本浏览器的文章始终没有解决我的问题,或者是不够优雅,因此做了一点整理,希望对你有用,至少对我是有用的 😁😁😁 调查原因 结果是 css 中是 where 在低版本 chrome 浏览器不起作用 然后就去 , 样式不对的浏览器 console 控制台输入 navigator.userAgent 检测浏览器信息,最终结果是 where 不兼容 chrome 88 以下的版本 解决方法 与 antd 有关直接...

#学习
pnpm09-02
阅读

【npm进阶】探索npx:一次性执行包的新方式

在现代前端开发中,开发者们需要管理和使用各种各样的npm包。而在此过程中, 作为npm生态系统中的一部分,提供了一种方便的方式来执行本地或远程的npm包。本篇文章将详细介绍 的用途和优势,展示如何使用 来执行本地和远程包,并提供一些实际的npx示例。 引言 在过去,开发者通常会通过全局安装某些工具来使用它们。然而,全局安装不仅会污染全局环境,还可能导致不同项目之间的版本冲突。 是npm 5.2.0引入的一种新工具,旨在解决这些问题。通过...

#学习
http-网络09-02
阅读

HTTP缓存:别傻傻不会回答了

前言 在有大量数据交换的应用程序中,我们会采取一些方式将那些实时性要求不高的数据生成副本,并存储在某个相对来说可以快速到达、访问、获取的仓库,这样在需要这些数据的时候可以直接从这个仓库中获取数据。 缓存的目的: 提升数据交换的性能,提高速度。 缓解服务器或数据库的压力。 HTTP 根据是否要向服务器发送请求将缓存规则分为两类:强缓存和协商缓存。 强缓存 在强缓存中,如果命中缓存,则直接从缓存数据库中取出资源,无需再发送请求到服务器上。...

#学习#面试
javascript09-02
阅读

JavaScript中读取文件的各种方法

在JavaScript中,尤其是配合Node.js这样的运行时环境,有多种方式可以读取服务器上的文件。每种方法都有其适用场景和优缺点。今天,我们就来比较几种常见的文件读取方法,看看哪一种最适合你的需求。 太长不看版 如果你在寻找一个快速且简单的方法, 是一个不错的选择,它提供了一个Promise接口,让你能够以现代的异步语法来处理文件读取。然而,如果你更倾向于同步方法,你可能会更喜欢 ,虽然它会阻塞当前线程直到文件读取完成。最后,如果你...

#学习
1...515253...99