排序
【JavaScript】原型与原型链
JavaScript 是基于原型的语言,对象通过原型链共享属性和方法。理解原型是理解 this、继承、new 的基础。1. 三个关键对象每个函数都有 prototype 属性(原型对象);每个对象都有内部属性 [[Pro...
【JavaScript】箭头函数与普通函数的区别
ES6 引入的箭头函数写法更简洁,但它不只是语法糖:箭头函数和普通函数在 this、arguments、构造能力上有本质区别,选错会直接引发 bug。1. 语法形式// 普通函数 function add(a, b) { return a...
【JavaScript】let、const 与 var 的区别
ES6 之前 JavaScript 只有 var 一种变量声明方式,它的作用域规则和提升行为经常导致难以排查的 bug。ES6 引入的 let 和 const 解决了这些问题,现在的开发中应当默认使用 let 和 const,几乎不...
【JavaScript】模块化:ES Module 与 CommonJS
早期的 JavaScript 没有官方模块系统,社区先后出现了 CommonJS(Node.js 采用)和 AMD 等方案,ES6 终于把 ES Module 写进语言标准。现代浏览器和 Node.js 都原生支持 ESM,新项目应当默认使用...
【JavaScript】数组常用方法整理
数组是 JavaScript 中最常用的数据结构,ES6 之后数组方法越来越丰富。按「是否改变原数组」分类整理,方便查阅和选择。1. 不改变原数组:map、filter、find 等const nums = [1, 2, 3, 4, 5]; /...
【JavaScript】解构赋值与扩展运算符
解构赋值和扩展运算符是 ES6 使用频率最高的语法之一,能让对象和数组的操作代码大幅缩短,在 React、Vue 的现代项目里无处不在。1. 对象解构const user = { name: '张三', age: 18, city: '北...
【JavaScript】事件循环 Event Loop
JavaScript 单线程却不阻塞,靠的就是事件循环机制。理解事件循环是搞懂 setTimeout「不准时」、Promise 执行顺序等问题的前提。1. 运行模型JS 引擎只有一个调用栈。异步任务不进入调用栈,而是...
【JavaScript】Promise 与 async/await
JavaScript 是单线程语言,异步编程是它的核心能力。从回调函数到 Promise 再到 async/await,异步写法的演进方向就是让代码越来越接近同步的阅读体验。1. 回调地狱的问题// 回调套回调,缩进越...
【JavaScript】深拷贝与浅拷贝
在 JavaScript 中,深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是用于复制对象或数组的两种不同方法。了解它们的区别和应用场景对于避免潜在的 bugs 和高效地处理数据非常重要。以下是对深拷...


