参考手册

最后更新:2026-09-09

参考手册

按字母序排列的 160 个 JavaScript 条目及其用法说明。

#
= += -= 等赋值运算符赋值运算符将值存入变量。复合赋值(+=、-= 等)是运算 + 赋值的简写。
&& || ! ??逻辑运算符组合布尔条件。&& 短路(全真才真)、|| 短路(有真即真)、! 取反、?? 空值合并(仅 null/undefined 触发默认值)。
? : 三元运算符三元运算符是 if...else 的表达式版本:条件为真返回第一个值,否则返回第二个值。适合简单赋值。
... 展开运算符展开运算符 ... 将可迭代对象展开为独立元素。用于数组复制、合并、函数传参和对象复制。
?. 可选链可选链 ?. 安全地访问嵌套属性——如果中间环节是 null/undefined 则返回 undefined 而不报错。
模板字符串模板字符串用反引号包裹,支持 ${} 嵌入表达式和多行文本。是字符串拼接的现代方式。
常用事件类型DOM 事件类型一览:鼠标事件、键盘事件、表单事件、触摸事件等。
A
ArrayArray 是 JavaScript 的内置数组对象:有序列表的构造器,提供 30 多个方法用于增删、查找、遍历、转换与归并。数组是无类型的——同一数组里可以混放任意类型的值,le...
Array.concat()concat 把传入的值或其他数组接在原数组后面,返回一个全新数组;原数组不会被修改。参数可以是任意值,数组会被浅展开一层——嵌套数组里的元素保持原样。
Array.filter()filter 对每个元素执行一次回调,返回所有让回调返回真值的元素组成的新数组;原数组不变,长度可以变短。是数据筛选最常用的方法。
Array.find()find 返回数组中第一个满足测试函数的元素;找不到返回 undefined。只需要判断存在性时用 some,需要下标时用 findIndex。
Array.findIndex()findIndex 返回第一个满足测试函数的元素下标;找不到返回 -1。常用于定位后配合 splice 替换或删除元素。
Array.forEach()forEach 对每个元素按顺序执行一次回调,没有返回值(总是 undefined),也不能用 break 或 continue 中断。需要中断用 for...of,需要产出新数组...
Array.includes()includes 判断数组是否包含某个值,返回 true 或 false。比 indexOf !== -1 语义清晰,还能正确识别 NaN。
Array.indexOf()indexOf 返回元素在数组中首次出现的下标,找不到返回 -1。使用严格相等比较,无法匹配 NaN。
Array.join()join 把数组所有元素用指定分隔符连接成一个字符串并返回;undefined 和 null 会被转成空字符串。原数组不变。
Array.map()map 对每个元素执行一次回调,用回调的返回值按顺序组成一个**等长**的新数组;原数组不变。把一组数据转换成另一组数据的标配方法。
Array.pop()pop 移除数组的最后一个元素并返回它;数组为空时返回 undefined 且不报错。与 push 组成栈(后进先出)操作。
Array.push()push 把一个或多个元素追加到数组末尾,返回追加后的新长度。与 pop 组成栈(后进先出)操作,是最常用的数组修改方法。
Array.reduce()reduce 把数组归并成单个值:回调对每个元素累积计算,最终返回累积结果。求和、计数、分组、扁平化都靠它,是函数式数组处理的核心。
Array.reverse()reverse 原地反转数组元素顺序并返回同一个数组引用。想保持原数组不变,先复制再反转([...arr].reverse() 或 ES2023 的 toReversed())。
Array.shift()shift 移除数组的第一个元素并返回它;空数组返回 undefined。与 unshift 组成队列(先进先出)操作。注意 shift 需要移动后面所有元素,大数组上性能差于 p...
Array.slice()slice 按起止下标截取一段浅拷贝新数组(含头不含尾),支持负数下标(从末尾倒数)。原数组完全不变,是数组不可变操作的基石。
Array.some()some 检查数组中是否至少有一个元素让回调返回真值,返回布尔值;找到即停止遍历。全部满足用 every。
Array.sort()sort 原地对数组元素排序并返回同一数组。默认把元素转成字符串再按 Unicode 码位比较——数字 10 会排在 9 前面!数字排序必须提供比较函数。
Array.splice()splice 是数组唯一的任意位置增删改方法:从指定下标删除若干元素并可在同一位置插入新元素,返回被删除的元素组成的数组。原数组原地修改。
Array.unshift()unshift 把一个或多个元素插入数组开头,返回新长度。与 shift 组成队列操作。注意 unshift 也是 O(n)——每个已有元素都要后移。
Array.isArray()Array.isArray 判断一个值是否为数组,是区分数组与普通对象的标准方法。typeof 对数组返回 object 无法区分,instanceof 在跨 iframe 场景会...
async/awaitasync/await 是 Promise 的语法糖,让异步代码看起来像同步代码。async 函数总是返回 Promise;await 暂停执行直到 Promise 结束。
B
BooleanBoolean 提供类型判断和转换。
C
constconst 用来声明一个块级作用域的常量:声明时必须立刻赋值,之后不能再把这个名字指向别的值。注意它锁定的是“变量名和值的绑定关系”,而不是值本身——用 const 声明的对象或数...
ConsoleConsole 对象提供调试输出方法:log/error/warn/table/group 等。
classclass 是创建对象的模板:包含构造器、方法和 getter/setter。通过 new 关键字创建实例。是原型继承的语法糖。
Comparison operators比较运算符返回布尔值。=== 严格相等(不转类型)是标准写法;== 宽松相等(会转类型)应避免。
console.log()console.log 向浏览器控制台输出信息。支持多个参数和格式化占位符。调试的基本工具。
console.error()console.error 向控制台输出错误信息(红色显示)。与 console.log 功能相同但视觉标记为错误。
console.table()console.table 以表格形式显示数组或对象数据。调试复杂数据结构时非常直观。
D
DateDate 是 JS 的内置日期对象。
DocumentDocument 是 DOM 的根对象:代表整个 HTML 文档。提供获取元素、创建节点和事件监听的入口。
Date.getFullYear()getFullYear 返回日期对象的四位年份。获取年月日各部分的标准方法。
Date.getMonth()getMonth 返回月份(0-11),0 表示一月。⚠️ 这是 JS 日期最常犯的错误。
Date.getDate()getDate 返回月份中的第几天(1-31)。注意与 getDay(星期几)区分。
Date.getDay()getDay 返回星期几(0-6),0 表示星期日。与 getDate(几号)完全不同。
Date.getHours()getHours 返回小时数(0-23),24 小时制。
Date.now()Date.now 返回当前时间距 1970-01-01 00:00:00 UTC 的毫秒数。获取时间戳的最简方法(静态方法)。
Date.toISOString()toISOString 返回 ISO 8601 格式的日期字符串(YYYY-MM-DDTHH:mm:ss.sssZ),始终使用 UTC 时区。日期序列化的标准方法。
Date.parse()Date.parse 解析日期字符串并返回毫秒时间戳。等效于 new Date(str).getTime()。静态方法。
delete 运算符delete 删除对象的属性。成功返回 true。对数组使用会留下空洞(不推荐)——用 splice 代替。
decodeURIComponent()decodeURIComponent 解码由 encodeURIComponent 编码的字符串。读取 URL 查询参数的标准方法。
document.getElementById()getElementById 通过 id 属性获取页面中唯一的元素。是 DOM 操作最基础的方法。
document.querySelector()querySelector 用 CSS 选择器获取第一个匹配的元素。比 getElementById 更灵活。
document.querySelectorAll()querySelectorAll 返回所有匹配 CSS 选择器的元素的 NodeList(静态集合)。
document.createElement()createElement 创建一个新的 DOM 元素(尚未插入页面)。配合 appendChild 或 insertAdjacentHTML 插入页面。
E
ErrorError 是错误对象基类:包含 name/message/stack。内置 TypeError/RangeError/SyntaxError 等。
ElementElement 是 DOM 元素对象的基类。提供属性读写、类名操作和事件监听。
EventsDOM 事件模型:事件从目标元素冒泡到 document。事件委托是处理动态子元素的最佳方式。
encodeURIComponent()encodeURIComponent 对 URI 组件进行编码——将特殊字符转为百分号编码。构建查询参数的标准方法。
element.innerHTMLinnerHTML 获取或设置元素的 HTML 内容(包含子标签)。设置时会解析 HTML 并重新渲染。
element.textContenttextContent 获取或设置元素的纯文本内容(忽略 HTML 标签)。比 innerHTML 安全且性能更好。
element.classListclassList 提供添加、删除、切换、检查 CSS 类的方法。操作元素样式的标准方式。
element.setAttribute()setAttribute 设置元素的 HTML 属性。如果属性已存在则更新值。
element.getAttribute()getAttribute 获取元素的 HTML 属性值。不存在时返回 null。
Element.removeAttribute()removeAttribute 删除元素的指定 HTML 属性。与 setAttribute 对应。
element.stylestyle 属性读写元素的内联 CSS 样式。属性名使用驼峰命名(backgroundColor 而非 background-color)。
element.valuevalue 属性获取或设置表单元素(input/select/textarea)的当前值。
element.appendChild()appendChild 将一个节点添加为当前元素的最后一个子元素。如果节点已在 DOM 中则会移动它。
element.remove()remove 从 DOM 中删除当前元素。比旧的 parentNode.removeChild(el) 更简洁。
element.addEventListener()addEventListener 给元素添加事件监听器。是 DOM 事件处理的标准方法(替代 onclick 属性)。
element.removeEventListener()removeEventListener 移除事件监听器。必须传入与添加时**完全相同的函数引用**。
event 事件对象事件对象包含事件的所有信息:触发元素(target)、事件类型(type)、鼠标坐标等。监听器回调的第一个参数。
element.insertAdjacentHTML()insertAdjacentHTML 在指定位置插入 HTML 字符串,不覆盖已有内容。比 innerHTML 更灵活且不影响已有子元素。
F
FunctionFunction 是 JS 中函数的构造器。函数是一等公民——可以赋值给变量、作为参数传递和返回。
forfor 循环由初始化、条件、更新三部分组成,适合已知次数的迭代。
for...offor...of 遍历可迭代对象(数组、字符串、Map、Set、NodeList 等),每次迭代取一个值。不能遍历普通对象。
functionfunction 声明定义一个可重复调用的函数。JS 中函数是一等公民——可以赋值给变量、作为参数传递。
I
if...elseif...else 根据条件执行不同的代码块。最基本的流程控制语句。
instanceofinstanceof 检查对象是否是某个构造函数的实例。用于区分数组和对象、自定义类的类型判断。
in 运算符in 检查对象是否有某个属性(包括原型链上的)。配合 Object.hasOwn 区分自身属性和继承属性。
J
JSONJSON 提供 parse 和 stringify 两个静态方法。
JSON.parse()JSON.parse 将 JSON 格式的字符串解析为 JS 值(对象/数组/数字等)。与 JSON.stringify 互逆。是处理 API 响应和 localStorage 的...
JSON.stringify()JSON.stringify 将 JS 值(对象/数组等)转为 JSON 格式的字符串。与 JSON.parse 互逆。发送 API 请求和存储数据的标准方法。
L
letlet 用来声明一个块级作用域的变量:它只在自己所在的那对大括号 {} 里有效,出了大括号就访问不到,同一个作用域里也不能重复声明同名变量。这是 ES6 引入的现代写法,日常开发应...
LocationLocation 对象提供当前页面 URL 的信息和操作方法。
location.hreflocation.href 获取或设置当前页面的完整 URL。赋值会导致页面跳转。
location.reload()reload 重新加载当前页面。默认从缓存加载;传 true 强制从服务器重新加载。
localStorage.setItem()setItem 向 localStorage 存储键值对。值必须是字符串——对象需要先 JSON.stringify。数据永久保存(不随页面关闭消失)。
localStorage.getItem()getItem 从 localStorage 读取指定键的值。键不存在时返回 null(不是报错)。
localStorage.removeItem()removeItem 从 localStorage 中删除指定键值对。键不存在时不报错。
M
MathMath 是数学工具集:提供取整、幂运算、随机数等静态方法。
MapMap 是键值对集合:键可以是任意类型。保持插入顺序。
Math.abs()Math.abs 返回一个数的绝对值。负数变正数,正数和 0 不变。
Math.ceil()Math.ceil 向上取整:返回大于或等于给定数字的最小整数。
Math.floor()Math.floor 向下取整:返回小于或等于给定数字的最大整数。
Math.round()Math.round 四舍五入:返回最接近的整数。0.5 向上取(Math.round(4.5) = 5)。
Math.max()Math.max 返回多个数字中的最大值。不传参数返回 -Infinity。数组需要用展开符传入。
Math.min()Math.min 返回多个数字中的最小值。不传参数返回 Infinity。
Math.random()Math.random 返回 [0, 1) 之间的伪随机小数(包含 0 不包含 1)。生成随机整数的标准配合是 Math.floor。
Math.pow()Math.pow 返回 base 的 exponent 次幂。等价于 ** 运算符(ES2016)。
Math.trunc()Math.trunc 去掉小数部分只保留整数部分(向零取整)。与 floor 的区别在负数:trunc(-4.2) = -4,floor(-4.2) = -5。
N
NumberNumber 是 JavaScript 的内置数字对象:提供数值格式化(toFixed/toString)、类型判断(isInteger/isNaN)和安全范围常量。JS 的数字统...
NodeListNodeList 是节点集合:由 querySelectorAll 返回。有 forEach 但不是数组。
Number.toFixed()toFixed 按指定小数位数格式化数字并返回字符串。四舍五入,是金额显示的标准方法。
Number.toString()toString 把数字转为字符串,可指定进制(2~36)。二进制、十六进制转换的标准方法。
Number.isInteger()Number.isInteger 判断一个值是否为整数,返回布尔值。是静态方法,挂在 Number 构造器上。
Number.toPrecision()toPrecision 按指定的有效数字位数格式化数字并返回字符串。科学计算和精简显示时使用。
Number.MAX_SAFE_INTEGERNumber.MAX_SAFE_INTEGER 是 JS 能精确表示的最大整数(2^53 - 1 = 9007199254740991)。超过这个值精度丢失。
Number.isNaN()Number.isNaN 判断一个值是否为 NaN。NaN 是唯一不等于自身的值——不能用 === 判断。
Number.isFinite()Number.isFinite 判断一个值是否为有限数(不是 Infinity、-Infinity 或 NaN)。
O
ObjectObject 是 JS 中所有对象的基类。提供 keys/values/entries/assign/freeze 等静态方法。
Object.keys()Object.keys 返回对象所有可枚举属性名组成的数组。遍历对象键的标准方法。
Object.values()Object.values 返回对象所有可枚举属性的值组成的数组。是 Object.keys 的值版本。
Object.entries()Object.entries 返回对象所有可枚举属性的 [键, 值] 二维数组。配合 for...of 解构遍历对象最优雅的方式。
Object.assign()Object.assign 将一个或多个源对象的可枚举属性复制到目标对象,返回目标对象。浅拷贝合并——嵌套对象仍然共享引用。
Object.freeze()Object.freeze 冻结对象:不能添加、删除或修改属性。是一种轻量级的不可变保护,但只是浅冻结(嵌套对象不受影响)。
Object.hasOwn()Object.hasOwn 判断对象是否具有指定**自身**属性(不含原型链上的),是 hasOwnProperty 的更安全替代。
P
PromisePromise 是异步编程的核心:代表异步操作的最终完成或失败。三种状态:pending/fulfilled/rejected。
Promise.then()then 注册 Promise 成功时的回调。返回新的 Promise,支持链式调用。
Promise.catch()catch 注册 Promise 失败时的回调。是 then(undefined, onRejected) 的语法糖。
Promise.finally()finally 注册 Promise 结束时(无论成功或失败)都要执行的回调。常用于清理资源(如关闭 loading)。
Promise.all()Promise.all 接收 Promise 数组,全部成功时返回结果数组;任何一个失败立即 reject。
Promise.race()Promise.race 接收 Promise 数组,返回第一个**结束**的 Promise 的结果(无论成功或失败)。
Promise.allSettled()Promise.allSettled 等待所有 Promise 结束(无论成功或失败),返回包含每个结果状态的数组。
parseInt()parseInt 解析字符串并返回整数。忽略前导空白,从第一个非空字符开始解析直到遇到非数字字符。
parseFloat()parseFloat 解析字符串并返回浮点数。与 parseInt 不同,保留小数部分。
parentNode / parentElementparentNode 返回父节点(可能是文本节点等);parentElement 返回父元素(只返回元素节点)。大多数场景两者等价。
R
RegExpRegExp 是正则表达式对象:用于模式匹配、搜索和替换。
returnreturn 终止函数执行并返回一个值。没有 return 或 return 无值时返回 undefined。
S
StringString 是 JavaScript 的内置字符串对象:提供 30 多个方法用于查找、截取、替换、大小写转换与格式化。字符串是不可变的——所有方法都返回新字符串。
SetSet 是值集合:每个值只能出现一次(自动去重)。数组去重的标准方法。
SymbolSymbol 是 ES6 的原始类型:创建唯一不可变的标识符。主要用作对象属性键。
StorageStorage 对象代表 Web Storage API:localStorage(永久)和 sessionStorage(会话级)。
String.charAt()charAt 返回字符串中指定下标处的字符(UTF-16 码元),下标从 0 开始;越界时返回空字符串而不报错。
String.includes()includes 判断字符串是否包含指定子串,返回 true 或 false,可传起始位置。判断关键词存在性的首选方法。
String.indexOf()indexOf 返回子串在字符串中首次出现的下标,找不到返回 -1。区分大小写。
String.replace()replace 用替换内容替换字符串中匹配的部分:字符串参数只替换第一个匹配;正则加 g 标志替换全部。支持回调函数做动态替换。
String.replaceAll()replaceAll 替换字符串中所有匹配的子串并返回新字符串,语义比正则 g 标志更直白,是 ES2021 引入的方法。
String.slice()slice 按起止下标截取子串并返回新字符串,支持负数下标。原字符串不变。
String.split()split 按分隔符把字符串拆成数组并返回。与数组 join 互为逆操作。常用于解析 CSV、路径。
String.substring()substring 按起止下标截取子串,不支持负数下标,参数颠倒时自动交换。新代码建议用 slice。
String.toLowerCase()toLowerCase 返回全部转为小写的新字符串,原字符串不变。做大小写无关比较的标准方法。
String.toUpperCase()toUpperCase 返回全部转为大写的新字符串,原字符串不变。常用于标题格式化、常量生成与不区分大小写的键名。
String.trim()trim 去除字符串首尾的空白字符,中间的空白不受影响。清理用户输入的标准方法。
String.startsWith()startsWith 判断字符串是否以指定子串开头。判断 URL 前缀、文件类型的标准方法。
String.endsWith()endsWith 判断字符串是否以指定子串结尾,返回布尔值。判断文件扩展名的标准方法。
String.padStart()padStart 用指定字符把字符串从开头补齐到目标长度。数字补零的标准方法。
String.repeat()repeat 把字符串重复指定次数后返回新字符串。生成占位线、缩进、分隔符的便捷方法。
String.match()match 用正则表达式从字符串中提取匹配结果。g 标志返回全部匹配数组;无 g 返回第一个匹配的详细信息对象。
String.charCodeAt()charCodeAt 返回指定位置字符的 UTF-16 编码数值。
String.concat()concat 把多个字符串连接成一个新字符串,原字符串不变。一般直接用 + 号或模板字符串更常见。
switchswitch 根据表达式的值匹配 case 分支。适合单变量的多值匹配。忘记 break 会导致 fall-through。
setTimeout()setTimeout 在指定的毫秒数后执行一次回调函数。返回定时器 ID,可用 clearTimeout 取消。
T
typeoftypeof 返回一个表示操作数类型的字符串,是判断变量类型最快的办法。它是一元运算符,可以写成 typeof x 或 typeof(x)。注意它返回的是字符串,比如 typeof...
try...catchtry...catch 捕获并处理运行时错误,防止程序崩溃。finally 块无论是否有错误都会执行。
V
varvar 是 ES6 之前唯一的变量声明方式,作用域是函数级而不是块级:在 if 或 for 里声明的变量,出了大括号照样能访问。它还会把声明提升到作用域顶部(赋值不提升),并且允许...
W
WindowWindow 是浏览器全局对象。所有全局变量都是 window 的属性。
whilewhile 在条件为真时重复执行代码块。适合不确定迭代次数的场景。
window.alert()alert 弹出一个带消息和确定按钮的模态框。会阻塞页面执行直到用户点击确定。
window.confirm()confirm 弹出带消息和确定/取消按钮的模态框,返回布尔值。适合删除等需要二次确认的操作。
window.prompt()prompt 弹出带输入框的模态框,返回用户输入的字符串。点击取消返回 null。
window.open()window.open 打开新的浏览器窗口或标签页。常用于在新窗口打开链接。可能被浏览器弹窗拦截。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏