随笔分类 - 前端基础知识合集
记录一些自己需要注意的前端小知识
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 最近在重构项目里的大文件上传模块,本想着按常规方案实现:File API 切片、计算 Hash、封装一个带并发限制(通常习惯性设为 6)的请求池,最后调个 Merge 接口收尾。 这套方案可以说是前端圈处理大文件的标配了。但看着 Network
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 最近在重构项目里的大文件上传模块,本想着按常规方案实现:File API 切片、计算 Hash、封装一个带并发限制(通常习惯性设为 6)的请求池,最后调个 Merge 接口收尾。 这套方案可以说是前端圈处理大文件的标配了。但看着 Network
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 背景 在做项目时,总会遇到UI给出渐变色的卡片或者按钮,但在做高亮的时候,由于没有过渡,显得尤为生硬。 过去的解决方案 在过去,我们如果要实现渐变色的过渡,通常会使用如下几种方法: 添加遮罩层,通过改变遮罩层的透明度做出淡入淡出的效果,实现过渡
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 背景 在做项目时,总会遇到UI给出渐变色的卡片或者按钮,但在做高亮的时候,由于没有过渡,显得尤为生硬。 过去的解决方案 在过去,我们如果要实现渐变色的过渡,通常会使用如下几种方法: 添加遮罩层,通过改变遮罩层的透明度做出淡入淡出的效果,实现过渡
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 两个 URL 只有 hash 后面的内容不同,浏览器会认为没有真正跳转,所以 window.location.href 不执行刷新 https://域名/cash-center/#/payMethod?params=abc https://域名
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 两个 URL 只有 hash 后面的内容不同,浏览器会认为没有真正跳转,所以 window.location.href 不执行刷新 https://域名/cash-center/#/payMethod?params=abc https://域名
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 无需任何动画库,仅用原生 Web API 实现滚动时丝滑的淡入滑入效果,兼顾性能与体验。 你是否见过这样的交互动效: 用户滚动页面时,一组卡片像被“唤醒”一样,依次从下方滑入并淡入; 如果这些元素在页面加载时已在视口内,它们也会自动按顺序浮现。
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 无需任何动画库,仅用原生 Web API 实现滚动时丝滑的淡入滑入效果,兼顾性能与体验。 你是否见过这样的交互动效: 用户滚动页面时,一组卡片像被“唤醒”一样,依次从下方滑入并淡入; 如果这些元素在页面加载时已在视口内,它们也会自动按顺序浮现。
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 日常开发中,导出带滚动条的DOM内容为图片时,普通截图只能抓可视区域?本文分享基于@snapdom的长截图方案,完美导出完整内容,还能精准复刻UI~ 一、业务痛点(为什么选snapdom?) 开发中经常遇到「导出带滚动区域的DOM为图片」的需求
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 日常开发中,导出带滚动条的DOM内容为图片时,普通截图只能抓可视区域?本文分享基于@snapdom的长截图方案,完美导出完整内容,还能精准复刻UI~ 一、业务痛点(为什么选snapdom?) 开发中经常遇到「导出带滚动区域的DOM为图片」的需求
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 前言 在前端开发中,埋点系统是必不可少的一环。我们经常需要在用户关闭页面、刷新或跳转路由时,向服务器发送最后一条统计数据(比如用户停留时长、页面跳出率)。 但这看似简单的需求,在实现时却危机四伏:请求发不出去?页面跳转卡顿?今天我们就来聊聊这个
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 前言 在前端开发中,埋点系统是必不可少的一环。我们经常需要在用户关闭页面、刷新或跳转路由时,向服务器发送最后一条统计数据(比如用户停留时长、页面跳出率)。 但这看似简单的需求,在实现时却危机四伏:请求发不出去?页面跳转卡顿?今天我们就来聊聊这个
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 你有没有遇到过这种情况:在自己的网页上想请求别人的API,结果浏览器直接报错:Access-Control-Allow-Origin' header is missing。为什么浏览器要阻止你?服务器不响应不就完了吗? 今天,用小区门禁的故事,
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 你有没有遇到过这种情况:在自己的网页上想请求别人的API,结果浏览器直接报错:Access-Control-Allow-Origin' header is missing。为什么浏览器要阻止你?服务器不响应不就完了吗? 今天,用小区门禁的故事,
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 上周帮朋友救火一个数据大屏项目,甲方临时说要从 1920×1080 的投影换成 3840×1080 的超宽拼接屏。朋友用的是 transform: scale 方案,结果两边各留了一大片黑边,甲方当场黑脸。 这事儿让我决定把大屏适配这个"老生常
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 上周帮朋友救火一个数据大屏项目,甲方临时说要从 1920×1080 的投影换成 3840×1080 的超宽拼接屏。朋友用的是 transform: scale 方案,结果两边各留了一大片黑边,甲方当场黑脸。 这事儿让我决定把大屏适配这个"老生常
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 为什么你在北京打开一个视频,加载只要1秒?你的朋友在新疆,打开同一个视频,也是1秒?服务器难道全国各地都放了? 今天,用**"快递"**的故事,来讲讲CDN的原理。 没有CDN时,网络请求是怎么跑的? 你在北京,想从上海寄一箱苹果。 没有CDN
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 为什么你在北京打开一个视频,加载只要1秒?你的朋友在新疆,打开同一个视频,也是1秒?服务器难道全国各地都放了? 今天,用**"快递"**的故事,来讲讲CDN的原理。 没有CDN时,网络请求是怎么跑的? 你在北京,想从上海寄一箱苹果。 没有CDN
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 0.1 + 0.2 为什么不等于 0.3?答不上来的都挂了 这个问题你可能在面试、线上 Bug、甚至随手写 Demo 的时候都见过: console.log(0.1 + 0.2 0.3); // false 很多人第一反应是“浮点数精度问题”,
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 0.1 + 0.2 为什么不等于 0.3?答不上来的都挂了 这个问题你可能在面试、线上 Bug、甚至随手写 Demo 的时候都见过: console.log(0.1 + 0.2 0.3); // false 很多人第一反应是“浮点数精度问题”,
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 🎨 方案1:BroadCast Channel(对讲机频道) 🛠️ 方案2:Service Worker(隐形邮差) 📦 方案3:LocalStorage(共享小本本) 👨💻 方案4:Shared Worker(共享办公室) 🕵️
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 🎨 方案1:BroadCast Channel(对讲机频道) 🛠️ 方案2:Service Worker(隐形邮差) 📦 方案3:LocalStorage(共享小本本) 👨💻 方案4:Shared Worker(共享办公室) 🕵️
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 前言 在JavaScript学习中,this绝对是“让人又爱又恨”的存在——它看似简单,用起来却总让人摸不着头脑,一不小心就踩坑。有人说它是“动态代词”,有人说它是“隐式传递的对象引用”,其实只要摸清它的绑定规则,就能轻松驾驭!今天就结合具体代
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 前言 在JavaScript学习中,this绝对是“让人又爱又恨”的存在——它看似简单,用起来却总让人摸不着头脑,一不小心就踩坑。有人说它是“动态代词”,有人说它是“隐式传递的对象引用”,其实只要摸清它的绑定规则,就能轻松驾驭!今天就结合具体代
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 别再只靠“禁用按钮”了!真正的防重提交,需要前后端协同。 在电商下单、用户注册、支付发起等关键场景中,用户连点多次“提交”按钮是再常见不过的行为。 轻则造成数据库写入多条重复记录,重则导致用户被扣款两次、库存超卖——这绝不是危言耸听。 那么,前
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 别再只靠“禁用按钮”了!真正的防重提交,需要前后端协同。 在电商下单、用户注册、支付发起等关键场景中,用户连点多次“提交”按钮是再常见不过的行为。 轻则造成数据库写入多条重复记录,重则导致用户被扣款两次、库存超卖——这绝不是危言耸听。 那么,前
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 HTML 早已不再是简单的“超文本标记”,它更像是一个连接底层硬件、浏览器内核与用户交互的系统级接口集合。 在现代 Web 架构中,很多原本依赖庞大 JS 库(如 jQuery, Axios, Socket.io)实现的功能,现在通过原生 HT
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 HTML 早已不再是简单的“超文本标记”,它更像是一个连接底层硬件、浏览器内核与用户交互的系统级接口集合。 在现代 Web 架构中,很多原本依赖庞大 JS 库(如 jQuery, Axios, Socket.io)实现的功能,现在通过原生 HT
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 你是不是也遇到过这样的场景?面试官抛出一个闭包问题,你支支吾吾答不上来;团队代码review时,看到同事用的Promise链一脸懵逼;明明功能实现了,性能却总是差那么一点... 别慌!今天我整理了12个JavaScript核心概念,这些都是20
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 你是不是也遇到过这样的场景?面试官抛出一个闭包问题,你支支吾吾答不上来;团队代码review时,看到同事用的Promise链一脸懵逼;明明功能实现了,性能却总是差那么一点... 别慌!今天我整理了12个JavaScript核心概念,这些都是20
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 1) border 会改变布局(占据空间) border 会参与盒模型,增加元素尺寸。 例如,一个宽度 200px 的元素加上 border: 1px solid #000,实际宽度会变成: 200 + 1px(left) + 1px(righ
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 1) border 会改变布局(占据空间) border 会参与盒模型,增加元素尺寸。 例如,一个宽度 200px 的元素加上 border: 1px solid #000,实际宽度会变成: 200 + 1px(left) + 1px(righ
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 引言 在JavaScript的广阔世界中,数据类型构成了其最基础的语法元素。随着ES6的发布,这个大家庭迎来了两位新成员:BigInt和Symbol。如果说BigInt是为了解决大数运算的精度问题,那么Symbol的诞生,则像是一把为对象属性开
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 引言 在JavaScript的广阔世界中,数据类型构成了其最基础的语法元素。随着ES6的发布,这个大家庭迎来了两位新成员:BigInt和Symbol。如果说BigInt是为了解决大数运算的精度问题,那么Symbol的诞生,则像是一把为对象属性开
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 display: contents 是一个相对较新的 CSS 属性值,它会让元素自身不生成任何盒子,但它的子元素和伪元素仍然正常生成。简单说:元素本身从渲染树中消失,但它的孩子还在。 基本概念 工作原理 <div class="parent">
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 display: contents 是一个相对较新的 CSS 属性值,它会让元素自身不生成任何盒子,但它的子元素和伪元素仍然正常生成。简单说:元素本身从渲染树中消失,但它的孩子还在。 基本概念 工作原理 <div class="parent">
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 面试官:你能说说 CommonJS 和 ES Module 的区别吗? 我:……(脑子里只剩下 require 和 import) 说实话,这个问题你一定见过,而且99% 的前端都背过标准答案。 但真要往深了问一句: 为什么 ESM 可以 Tr
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 面试官:你能说说 CommonJS 和 ES Module 的区别吗? 我:……(脑子里只剩下 require 和 import) 说实话,这个问题你一定见过,而且99% 的前端都背过标准答案。 但真要往深了问一句: 为什么 ESM 可以 Tr
阅读全文
摘要:
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 扁平数组转树形结构 (Array To Tree) 核心痛点 处理“数组转树”最直观的思路是使用递归配合双重循环:遍历数组中的每一项,再次遍历数组寻找其子节点。 这种做法的时间复杂度为 O(n2)O(n2)当数据量 nn较小时(如几十条菜单),
阅读全文
🧑💻 写在开头 点赞 + 收藏 学会🤣🤣🤣 扁平数组转树形结构 (Array To Tree) 核心痛点 处理“数组转树”最直观的思路是使用递归配合双重循环:遍历数组中的每一项,再次遍历数组寻找其子节点。 这种做法的时间复杂度为 O(n2)O(n2)当数据量 nn较小时(如几十条菜单),
阅读全文

浙公网安备 33010602011771号