
JS
文章平均质量分 86
代码里的小猫咪
一只忙忙碌碌的小蜜蜂
展开
-
018 是 18,017 却是 15?别被 JavaScript 的数字骗了!
为何某些数字字面量前面加 0 会被解释成八进制,而某些又不会,本文稍微解释疑惑。原创 2025-05-24 10:00:00 · 669 阅读 · 0 评论 -
让代码更优雅的“标签 Label”语法
标签语句是 JavaScript 中少有的结构化控制流工具,主要价值在于简化多层嵌套跳转。标签并不常用,滥用会导致可读性和维护性下降。建议仅在确实需要一次性退出多层循环或实现简单状态机场景下使用。原创 2025-05-23 13:00:00 · 608 阅读 · 0 评论 -
为什么总写错 this?原来是函数有“二心”
箭头函数并不是用来“取代”普通函数的,而是为了解决原有语法中由于 this 机制不一致而带来的逻辑混乱问题,同时带来语法优化、结构清晰等额外好处。原创 2025-05-22 08:00:00 · 886 阅读 · 0 评论 -
两次点击居然才触发 remote-method 事件?
在使用 Vue3 + Element Plus 的远程搜索下拉框中,为什么用户要点两次才能触发请求?本文深入剖析了其根本原因:remote-method 只在特定输入时触发,首次点击下拉不会执行搜索。原创 2025-05-21 08:30:00 · 959 阅读 · 0 评论 -
JS 中到底存不存在“引用传递”?
JavaScript 中不存在“引用传递”这一概念,只有“按值传递”,但对于引用类型,传的是“引用的值”——也就是一个指向对象的指针副本(JS 相关面试题之一)。原创 2025-05-20 08:30:00 · 1266 阅读 · 0 评论 -
void 0,到底在保护什么?
void 0 是比 undefined 更安全、更可靠的获取 undefined 值的方式。因为 undefined 虽然是全局变量,但在旧环境中可能被覆盖,而 void 0 每次都直接返回真正的 undefined。原创 2025-05-19 08:00:00 · 933 阅读 · 0 评论 -
令人抓狂的 JS 赋值顺序!
本文简述 JavaScript 中的连续赋值操作,尤其是针对表达式 a.x = a = { n: 2 }; 的行为进行详细拆解,这一现象揭示了 JS 表达式求值中的先引用捕获,再右值计算,最后执行赋值的关键逻辑。原创 2025-05-16 08:30:00 · 986 阅读 · 0 评论 -
那天,我在一个字符串里发现了幽灵
零宽字符是什么呢?一个看不见却真实存在的特殊字符,常用于控制文本格式或隐形标记,但也容易引发排查困难的“幽灵”问题。原创 2025-05-15 08:30:00 · 873 阅读 · 0 评论 -
JavaScript 中浮点数精度问题导致显示异常,解决方案解析
JavaScript 使用的是 IEEE 754 浮点数标准,很多小数无法精确表示,导致计算时出现精度误差 —— 可通过 toFixed、Math.round 等方式解决。原创 2025-05-14 08:00:00 · 814 阅读 · 0 评论 -
从 Set、Map 到 WeakSet、WeakMap 的进阶之旅
Set 和 Map 是可遍历的强引用集合,分别用于存储唯一值和键值对,而 WeakSet 和 WeakMap 是不可遍历的弱引用集合,仅接受对象作为键或值,适用于避免内存泄漏。原创 2025-05-13 11:15:28 · 1268 阅读 · 0 评论 -
ES6 Promise 的底层魔法:一步步实现异步控制器
Promise 是 JavaScript 处理异步操作的强大工具,能够避免回调地狱。它像一个承诺,告诉我们未来某个时刻会返回一个结果,成功时执行 then,失败时执行 catch,让异步代码变得更易理解和管理。原创 2025-04-18 08:00:00 · 619 阅读 · 0 评论 -
从冗余到极致精简,Tree Shaking 真正做了什么?
Tree Shaking 是 JavaScript 应用打包优化的重要技术之一,其通过深入的静态分析与依赖图构建,将“死代码”剔除,极大优化了最终输出文件的体积和性能。原创 2025-04-17 08:30:00 · 1026 阅读 · 0 评论 -
深入解析浏览器回流优化与缓存策略
浏览器回流优化是指通过减少或避免不必要的回流(重排)操作,提高页面渲染性能。回流发生在DOM元素的尺寸、位置或结构变化时,导致浏览器重新计算布局。原创 2025-03-15 10:00:00 · 757 阅读 · 0 评论 -
VS Code 本地运行 TypeScript 全攻略
在 VS Code 本地运行 TypeScript,需先安装 typescript 和 ts-node,然后使用 ts-node file.ts 直接执行,或 tsc 编译后用 node file.js 运行,并通过 tsconfig.json 进行项目配置优化。原创 2025-03-03 09:30:00 · 2770 阅读 · 0 评论 -
从 ES5 到 ES6 解锁 JavaScript 私有变量
从 ES5 及更早版本的闭包模拟到 ES6 私有字段的正式引入,JavaScript 私有变量的演变实现了更严格的封装,本文将详细介绍相关内容。原创 2025-03-01 09:45:00 · 640 阅读 · 0 评论 -
ES5 vs ES6 中 Object.defineProperty() 不同
Object.defineProperty() 是 ES5 引入 的方法,用于在对象上精确定义或修改属性,特别是控制属性的可写性、可枚举性、可配置性 和 getter/setter。在 ES6 中,它仍然可用,但随着 class 语法、Proxy、Reflect 的引入,一些功能可以用新的方式实现。原创 2025-02-28 09:45:00 · 1047 阅读 · 0 评论 -
前端必备!深入解析 Class 降级
class 降级主要是为了兼容老旧浏览器,特别是 IE11 及更早版本。主要方式有手动降级(转换为 ES5 构造函数和原型继承)和使用 Babel 自动转换。原创 2025-02-27 09:15:00 · 1732 阅读 · 0 评论 -
参数归一化的神奇之处
在前端开发中,参数归一化是一种将不同来源或不同格式的参数统一处理为相同格式的方法。原创 2025-02-25 09:30:00 · 409 阅读 · 0 评论 -
面试题:前端如何高效应对后端巨量数据呢?
入手点:后端响应巨量数据时,会引发什么性能问题呢?主要分两个方面:渲染性能和网络性能。原创 2025-02-24 09:30:00 · 1334 阅读 · 0 评论 -
实现 JavaScript 只读属性的多种方法
使用 Object.defineProperty()、Object.freeze()、getter(get)、Proxy、TypeScript readonly、Symbol 方法实现 JavaScript 只读属性原创 2025-02-22 09:15:00 · 931 阅读 · 0 评论 -
基于指定数据结构,动态适配表格样式
基于同一个数据结构设计不同样式的表格,并根据需要选择样式,同时保持代码的简洁。原创 2025-02-20 09:00:00 · 372 阅读 · 0 评论 -
代码中的隐形炸弹:死循环与无限递归
本文讲述 死循环 和 无限递归 会导致什么问题?以及当前函数中存在 异步 操作,浏览器出现什么反应呢?原创 2025-02-18 09:00:00 · 1156 阅读 · 0 评论 -
深入探索 Reflect:掌握对象操作的强大工具
本文详细介绍了 JavaScript 中的 Reflect 对象,解释了其方法如 apply、construct、defineProperty、deleteProperty 等的作用和使用场景,强调了它简化和统一对象操作的优势,并展示了与 Proxy 结合的应用。原创 2025-02-17 09:00:00 · 1361 阅读 · 0 评论 -
揭秘 setInterval 不准的原因与解决方案
本文详细分析了定时器不精准的原因,并介绍了五种方法来实现更精确的定时器,帮助提高任务调度的准确性和效率。原创 2025-02-16 09:00:00 · 1245 阅读 · 0 评论 -
如何精准获取网页元素尺寸?
按照浏览器渲染的步骤依次讲述:如何获取元素的尺寸(如宽度、高度)?以及一些特别点。(非常详细)原创 2025-02-15 09:00:00 · 1743 阅读 · 0 评论 -
如何优雅地在数组前面添加指定个数的 0?
简单介绍一下:在数组前面添加指定个数的 0,改变原数组和不改变原数组的方法。原创 2025-02-13 09:00:00 · 944 阅读 · 0 评论 -
多种方法实现文本擦除效果
简单介绍几种关于文本擦除效果的方法,以及渐进展示文本。原创 2025-02-12 08:45:00 · 426 阅读 · 0 评论 -
如何判断JavaScript对象属性是否存在?
介绍 在 JavaScript 中,判断对象属性是否存在的六种方法及对应的额外补充内容。原创 2025-02-11 09:00:00 · 1385 阅读 · 0 评论 -
深入解析重排与重绘:优化页面性能
要优化页面性能,减少不必要的重排和重绘,尤其是要避免频繁地修改布局属性、批量更新样式、减少 DOM 操作等。原创 2025-02-07 09:15:00 · 1129 阅读 · 0 评论 -
一文搞懂异步更新 nextTick 的魔法
nextTick 是一个延迟执行回调函数的机制。它将回调函数推迟到当前执行栈清空后,且当前事件循环的下一个微任务队列中。原创 2025-01-23 11:02:36 · 748 阅读 · 0 评论 -
使用 div 自定义 input 和 textarea
使用 contenteditable="true" 属性,可以实现一个高度自定义、功能强大的输入框,克服原生 input 和 textarea 的局限性。原创 2025-01-21 16:54:40 · 1101 阅读 · 0 评论 -
JSON.stringify 实现深度克隆的缺陷
简单介绍一下 深克隆的方法,以及 JSON.stringify 存在的缺陷问题。原创 2025-01-08 15:34:04 · 484 阅读 · 0 评论 -
为何 bind 方法绑定 this 后函数属性丢失?
bind 方法创建的新函数会丢失原函数的属性和原型方法,因为它返回的是一个全新的函数实例,而不是修改原函数。原创 2025-01-07 14:07:28 · 1153 阅读 · 0 评论 -
JavaScript 循环解析:性能比较与优化实践
简单分析下,JavaScript 中各种循环的性能及适用场景。原创 2024-12-25 09:30:00 · 1185 阅读 · 0 评论 -
栈溢出的原因与分析
回答一个面试题:无限递归是否一定会溢出栈?原创 2024-12-13 17:18:19 · 1363 阅读 · 0 评论 -
解决快速切换页面导致的内容错乱问题
快速切换页面导致内容闪烁问题的解决方法,唯一标识法和请求取消法。原创 2024-12-06 10:00:00 · 933 阅读 · 0 评论 -
父元素的 overflow:hidden 只对某个子元素有效
在父元素内部仅控制一部分内容溢出隐藏的方法,提供了静态直接改变 HTML 结构和动态灵活改变 两个方法。原创 2024-12-05 14:35:03 · 1232 阅读 · 0 评论 -
动态添加or删除「伪元素」
通过动态添加和删除伪元素的样式,实现许多灵活的页面效果,尤其是在不修改 HTML 的前提下控制内容显示。原创 2024-12-04 19:22:03 · 647 阅读 · 0 评论 -
编写人见人夸的代码,提升开发效率
本文讲述了在代码中如何将复杂的代码编写逻辑简化,便于后续维护和开发。原创 2024-12-04 09:30:00 · 277 阅读 · 0 评论 -
元素「宽高比」完美适配的方案
使用 CSS 和 JavaScript 方式实现页面的响应式布局,内容区域的尺寸始终保持指定的比例,跟随页面变化而变化。原创 2024-12-03 11:18:12 · 1673 阅读 · 0 评论