
JavaScript
文章平均质量分 93
JavaScript基础
旺代
当有机会做出选择时,不要让自己后悔。
展开
-
JavaScript事件循环
执行顺序铁律同步代码 → 微任务 → 宏任务 → 渲染(浏览器)微任务优先每个宏任务执行完毕后,必须清空所有微任务队列任务嵌套规则微任务中产生的微任务会继续在当前批次执行宏任务中产生的任务会进入下一轮循环性能优化建议避免在微任务中进行耗时操作合理分配任务类型(密集计算使用宏任务分片)什么是事件循环?答案:执行代码和收集异步任务,在调用栈空闲时,反复调用任务队列里回调函数执行机制。为什么有事件循环?答案:JavaScript 是单线程的,为了不阻塞 JS 引擎,设计执行代码的模型。原创 2025-04-16 21:19:38 · 1103 阅读 · 0 评论 -
Promise链式调用、async和await
是早期异步编程的痛点,代码臃肿且难以维护。原创 2025-04-15 20:48:01 · 1268 阅读 · 0 评论 -
Promise基础
是 JavaScript 中处理异步操作的标准化方案,用于替代传统的回调函数模式。它解决了“回调地狱”问题,使异步代码更易读、可维护。原创 2025-04-15 20:47:52 · 1061 阅读 · 0 评论 -
JavaScript函数柯里化
一次传递所有参数。原创 2025-04-13 13:06:52 · 975 阅读 · 0 评论 -
JavaScript Symbol与BigInt
在数字后加。原创 2025-04-12 20:31:27 · 1113 阅读 · 0 评论 -
JavaScript异常机制与严格模式
继承。原创 2025-04-12 20:30:27 · 1101 阅读 · 0 评论 -
JavaScript防抖与节流
是一种。原创 2025-04-11 00:03:56 · 1556 阅读 · 0 评论 -
JavaScript浅拷贝与深拷贝
创建一个新对象,仅复制原始对象的。原创 2025-04-11 00:03:45 · 1865 阅读 · 0 评论 -
javascript原型继承与原型链
当访问一个对象的属性或方法时,首先查找这个对象自身有没有该属性如果没有就查找它的原型(也就是 __proto__ 指向的 prototype 原型对象)如果还没有就查找原型对象的原型(Object的原型对象)以此类推一直找到 Object 为止(null)__proto__ 对象原型的意义就在于为对象成员查找机制提供一个方向,或者说一条路线可以使用 instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上三、实现继承的方式。原创 2025-04-10 00:06:19 · 859 阅读 · 0 评论 -
JavaScript原型对象
每个。原创 2025-04-10 00:06:08 · 993 阅读 · 0 评论 -
JavaScript Array与Object常用方法
定义或修改对象的属性(可控制可枚举性、可写性等)。:密封对象,允许修改现有属性值,但禁止增删属性。:返回对象的原始值(默认返回对象本身)。:冻结对象,禁止修改属性值、增删属性。:删除或替换数组元素(修改原数组)。:过滤数组,返回符合条件的新数组。:遍历数组并处理元素,返回新数组。:查找第一个符合条件的元素的索引。:第一个符合条件的元素值,否则。:对数组元素排序(修改原数组)。:将类数组或可迭代对象转为数组。:新数组(元素为回调返回值)。:反转数组顺序(修改原数组)。:查找第一个符合条件的元素。原创 2025-04-09 01:17:32 · 768 阅读 · 0 评论 -
JavaScript 自动装箱、String与Number常用方法
在 JavaScript 中,是一种隐式机制,使得原始值(如字符串、数字、布尔值)能够临时转换为对应的(如StringNumberBoolean),从而允许开发者直接调用对象方法。这一过程由 JavaScript 引擎自动完成,无需开发者显式操作。原创 2025-04-08 00:36:45 · 773 阅读 · 0 评论 -
JavaScript中的new与内存模型
需要明确类型标识(如。原创 2025-04-08 00:36:04 · 912 阅读 · 0 评论 -
JavaScript创建对象与构造函数
基于原型的面向对象语法糖,更接近传统面向对象语言。:属于构造函数本身的属性和方法,无需实例化即可访问。:若构造函数返回一个对象,则返回该对象;:创建对象、绑定原型、执行构造函数、返回对象。:属于实例对象的属性和方法,每个实例独立拥有。:静态方法无实例上下文,无法直接访问实例属性。:基于现有对象原型创建新对象,适合原型继承。:通过函数封装对象创建逻辑,避免重复代码。返回新对象(若构造函数无显式返回对象)。:实例可访问构造函数原型上的属性和方法。:最简洁的方式,适合创建简单对象。原创 2025-04-07 00:09:46 · 988 阅读 · 0 评论 -
JavaScript数组解构与对象解构
是 ES6 中用于从对象中提取属性并赋值给变量的语法,极大简化了对象属性访问的代码。是 ES6 引入的重要特性,允许从数组中提取值并赋值给变量,语法简洁且可读性强。:简化对象属性访问,提升代码可读性和简洁性。:函数参数处理、嵌套对象解析、模块按需导入。:多返回值处理、嵌套数据提取、变量交换等。:别名、默认值、剩余属性收集、嵌套解构。:简化数组元素的提取,提升代码可读性。:处理非数组目标时需谨慎,默认值仅对。从数组中提取值,并赋值给对应变量。:解构目标非对象的报错、默认值限制。从对象中提取值,并赋值给变量。原创 2025-04-07 00:09:36 · 1033 阅读 · 0 评论 -
JavaScript箭头函数、this绑定
简洁、固定。原创 2025-04-06 00:23:19 · 1276 阅读 · 0 评论 -
JavaScript 剩余参数与垃圾回收
目录一、剩余参数和展开运算符1.剩余参数用途语法特性2.展开运算符用途语法特性3.arguments对象特性示例缺点4.arguments 对象VS 剩余参数5.剩余参数 vs 展开运算符6.常见使用场景1. 合并数组或对象2. 复制数组/对象3. 替代 apply 方法4. 动态参数传递二、内存管理一、JavaScript 内存管理基础1. 内存生命周期2. 内存区域划分二、栈(Stack)与堆(Heap)的差异三、JavaScript 变量存储模型1. 原始类型变量的存储2. 引用类型变量的存储3.原创 2025-04-06 00:23:10 · 664 阅读 · 0 评论 -
JavaScript作用域与闭包
就已确定。原创 2025-04-05 00:23:40 · 1172 阅读 · 0 评论 -
JavaScript正则表达式
正则表达式是处理字符串的利器,通过灵活组合字符匹配、量词、分组和断言,可解决复杂的文本处理需求。在 JavaScript 中,结合test()exec()replace()等方法,能高效实现数据验证、提取与转换功能。原创 2025-04-05 00:23:28 · 1047 阅读 · 0 评论 -
JavaScript BOM核心对象、本地存储
JavaScript 提供了两种浏览器端存储方案,统称为类型生命周期作用域永久存储(除非手动清除)同源的所有标签页共享会话级存储(标签页关闭后清除)仅当前标签页有效共同特点存储键值对(Key-Value),键和值均为字符串。存储容量通常为5MB(不同浏览器可能略有差异)。仅限同源页面访问(同协议、域名、端口)。序列化必要:使用和JSON.parse处理复杂数据。容量管理:避免存储过大对象,必要时实现缓存淘汰策略。安全防护:加密敏感数据,避免 XSS 攻击导致数据泄露。版本控制。原创 2025-04-04 23:53:14 · 1202 阅读 · 0 评论 -
JavaScript BOM、Web Storage与Cookie
对象核心功能典型用途window窗口控制、定时器、全局对象调整窗口大小、定时任务locationURL 操作与页面导航页面跳转、获取 URL 参数navigator浏览器/设备信息设备检测、地理位置获取history历史记录管理单页应用路由控制screen屏幕信息获取响应式布局适配本地持久化存储用户偏好设置、缓存数据单线程非阻塞:通过事件循环和任务队列实现异步。任务优先级:微任务 > 宏任务。避免阻塞:长时间同步代码会阻塞事件循环(如大量计算)。应用场景宏任务:延迟任务、I/O 操作。原创 2025-04-04 23:52:58 · 1342 阅读 · 0 评论 -
JavaScript DOM 节点操作
是 HTML 或 XML 文档中每个独立单元的抽象表示。整个文档被建模为一个树形结构(DOM 树),其中每个节点对应文档的一部分(如元素、属性、文本等)。节点是 DOM 操作的基本单位,通过 JavaScript 可以动态访问和修改节点,实现页面交互。DOM 规范定义了多种节点类型,每个类型通过nodeType1<div><p>2389document11。原创 2025-04-03 21:47:02 · 1168 阅读 · 0 评论 -
JavaScript日期对象
JavaScript 中的Date对象用于处理日期和时间,支持创建、操作和格式化日期。原创 2025-04-03 21:46:49 · 805 阅读 · 0 评论 -
JavaScript元素尺寸与位置
在 JavaScript 中,元素的尺寸和位置信息可通过 client 和 offset 系列属性获取。这两组属性分别描述了元素不同维度的几何特征,适用于动态布局、拖拽交互、滚动计算等场景。原创 2025-04-02 00:02:16 · 849 阅读 · 0 评论 -
JavaScript页面事件与滚动
属性/方法用途适用场景scrollTopscrollLeft获取/设置元素滚动距离自定义滚动控制获取元素内容总尺寸(含溢出部分)判断是否可滚动或加载更多数据scrollX获取文档滚动距离(推荐替代页面滚动位置监听scrollTo()scrollBy()控制滚动位置(支持平滑滚动)导航到指定位置或动画效果属性/方法说明e.pageX/Y鼠标相对于文档左上角的坐标(含滚动偏移)鼠标相对于视口左上角的坐标(不含滚动偏移)鼠标相对于屏幕左上角的坐标文档当前水平/垂直滚动距离(等同于。原创 2025-04-02 00:02:01 · 1263 阅读 · 0 评论 -
JavaScript 事件类型
处理用户与鼠标交互的事件,如点击、移动、悬停等。原创 2025-04-01 00:01:10 · 1195 阅读 · 0 评论 -
JavaScript 事件流与事件委托
是一种利用。原创 2025-04-01 00:00:58 · 1243 阅读 · 0 评论 -
JavaScript事件监听
,并将其作为参数传递给事件处理函数。该对象包含与事件相关的所有信息,例如触发事件的元素、事件类型、坐标位置、按键信息等。若回调函数引用外部变量或 DOM 元素,可能导致内存泄漏(需及时移除监听)。如果将函数 A 做为参数传递给函数 B 时,我们称函数 A 为回调函数。(可选):配置对象或布尔值,控制捕获/冒泡阶段、一次性执行等。:用户或浏览器触发的动作,如点击、滚动、键盘输入等。:触发事件的元素(如点击的具体子元素)。事件触发后,相对应的回调函数会被执行。:阻止事件继续传播(冒泡或捕获)。原创 2025-03-31 18:16:40 · 1243 阅读 · 0 评论 -
JavaScript定时器
场景推荐方案关键点简单周期性任务及时清理定时器,避免内存泄漏异步任务/耗时操作递归setTimeout确保任务完成后再调度动画/高频渲染匹配屏幕刷新率,减少卡顿复杂计算避免阻塞主线程组件内定时器生命周期钩子清理(如 React/Vue)防止组件卸载后定时器残留最佳实践优先使用箭头函数:避免this指向问题。递归setTimeout替代:解决任务堆积问题。严格管理定时器生命周期:在组件/页面销毁时清理。高频任务优化:合并操作或使用。原创 2025-03-31 18:16:26 · 1504 阅读 · 0 评论 -
JavaScript DOM与元素操作
浏览器将 HTML 文档解析为。原创 2025-03-30 20:34:20 · 1085 阅读 · 0 评论 -
JavaScript函数详解
优先使用箭头函数除非需要动态this(如对象方法),否则箭头函数更简洁安全。避免过度嵌套使用或 Promise 链替代回调地狱。合理使用闭包注意内存泄漏(如无用的变量引用未被释放)。函数单一职责一个函数只做一件事,提高可测试性和可维护性。原创 2025-03-30 20:34:08 · 1054 阅读 · 0 评论 -
JavaScript中的Math对象和随机数
浮点数运算可能存在精度问题,处理金额等敏感数据时建议转成整数计算。JavaScript 原生不支持种子随机数,需自行实现算法(如。区间内的浮点数(包含 0,不包含 1)。确保公式正确闭合区间(如。原创 2025-03-29 18:11:38 · 1495 阅读 · 0 评论 -
JavaScript运算符与逻辑中断
避免在复杂表达式中混用前置和后置形式,易引发歧义。:安全访问嵌套对象属性,避免因中间属性不存在而报错。:若左侧为假,直接返回左侧值,否则返回右侧值。:若左侧为真,直接返回左侧值,否则返回右侧值。:适合旧版默认值,但会覆盖假值(0、"")。时,直接返回左侧值,不再执行右侧。时,直接返回左侧值,不再执行右侧。,避免隐式类型转换导致的意外结果。时返回右侧值,否则返回左侧值。:现代默认值方案,精准处理。的场景(如权限检查)。(BigInt 零)原创 2025-03-29 18:11:26 · 1003 阅读 · 0 评论 -
JavaScript数据结构
有序元素集合,可存储任意类型值。原创 2025-03-28 19:45:34 · 1458 阅读 · 0 评论 -
JavaScript数组和对象
目录JavaScript 数组详解一、数组的创建与基本特性二、数组核心操作1. 增删元素2. 截取与合并3. 查找与判断三、数组迭代与转换1. 迭代方法(不修改原数组)2. 排序与反转四、map与join1. map 方法2. join 方法3. map 与 join 联合使用四、ES6+ 新增方法五、性能优化与陷阱六、常见问题与解决方案JavaScript 对象详解一、对象的创建与基本特性1. 创建对象2. 键的特性3. 属性的特性(Property Attributes)二、对象操作1. 属性访问2.原创 2025-03-28 19:45:24 · 986 阅读 · 0 评论 -
JavaScript数据类型与类型转换
JavaScript 字符串是表示文本数据的基本类型,用单引号。原创 2025-03-27 17:30:32 · 621 阅读 · 0 评论 -
JavaScript基础概念
JavaScript 是一种动态类型解释型的编程语言,主要用于网页交互,现也可用于服务端(Node.js)和移动应用开发。客户端脚本语言:在浏览器中执行,增强用户界面交互。解释执行:无需编译,由浏览器逐行解释。动态类型:变量类型在运行时确定,可随时更改。单线程与异步:通过事件循环处理异步操作(如 AJAX)。基于原型:使用原型链实现继承,而非传统的类继承(ES6 引入类语法糖)。变量选择:优先使用const,需要重新赋值时用let,避免var。输出调试:多用,少用alert()。代码位置。原创 2025-03-27 17:30:17 · 1034 阅读 · 0 评论