Skip to content

全局函数 & 对象

全局值(Value Properties)

名称类型说明
globalThisobject统一全局对象(浏览器/Node/Worker)
Infinitynumber正无穷大(Number.POSITIVE_INFINITY 的全局暴露)
NaNnumber非数字(Not-a-Number)常量
undefinedundefined未定义值(全局属性,勿作为变量名使用)

全局关键字 (KeyWords Properties)

流程控制(Control Flow)说明
if条件判断,决定是否执行代码
elseif 条件不成立时执行
switch多分支条件判断(基于值匹配)
caseswitch 中的具体匹配分支
defaultswitch 的兜底分支
for常规循环(已知循环次数)
while条件为真时循环
do至少执行一次的循环
break立即跳出循环或 switch
continue跳过当前循环,进入下一次
异常处理(Error Handling)说明
try包裹可能出错的代码
catch捕获并处理异常
finally无论是否出错都会执行
throw主动抛出一个错误
变量与作用域(Variables & Scope)说明
var旧式变量声明(函数作用域,存在变量提升)
let块级作用域变量(现代 JS 推荐)
const声明常量(不可重新赋值)
值与基础类型(Primitive Values)说明
true布尔值:真
false布尔值:假
null空对象引用(人为设置的空)
函数与执行控制(Functions)说明
function声明函数
return返回结果并结束函数执行
this当前执行上下文对象(由调用方式决定)
面向对象 / 类(OOP & Class)说明
class定义类(ES6 语法糖)
extends类继承
super调用父类构造器或方法
new创建实例对象
instanceof判断实例是否属于某构造函数
static定义类的静态属性或方法
get定义属性读取器
set定义属性设置器
模块化(ES Module)说明
import引入模块内容
export导出模块内容
异步与并发(Async / Await)说明
async声明异步函数(返回 Promise)
await等待 Promise 执行完成
迭代与生成器(Iteration)说明
of用于 for...of 遍历可迭代对象
yield生成器中暂停执行并返回值
类型判断与运算(Type & Operator)说明
typeof判断变量类型(返回字符串)
in判断属性是否存在于对象中
delete删除对象的属性
void表达式返回 undefined
调试与特殊语法(Misc)说明
debugger触发断点调试
with ⚠️修改作用域链(已废弃,严格模式禁用)
保留关键字(Reserved Words)说明
enum未来保留(常见于 TypeScript)
implements接口实现(TS 用)
interface接口声明(TS 用)
public访问修饰符(TS 用)
private私有成员(TS 用)
protected受保护成员(TS 用)
package保留字
await*非模块 / 非 async 环境中是保留字

全局函数(Function Properties)

名称返回值简介
eval(code | string)any执行一段字符串代码(高风险,尽量避免)
isFinite(testValue)boolean判断是否有限数(会做类型转换)
isNaN(testValue)boolean判断是否 NaN(会做类型转换)
parseFloat(string)number/NaN字符串解析成浮点数
parseInt(str, radix?)number/NaN字符串解析成整数(建议显式 radix)
encodeURI(URI)string编码整段 URI
encodeURIComponent(URI)string编码 URI 组件(更常用)
decodeURI(URI)string解码整段 URI(不会解码保留字符)
decodeURIComponent(URI)string解码 URI 组件
structuredClone(value)object深度结构化克隆(支持循环、Map、Date 等)

全局构造器/对象(Constructor/Other Properties)

名称类型简介
Objectfunction普通对象的构造器/工具集入口
Functionfunction函数构造器(动态创建函数)
Arrayfunction数组构造器/工具集入口
Booleanfunction布尔包装对象构造器
Stringfunction字符串包装对象构造器/工具集入口
Numberfunction数字包装对象构造器/工具集入口
Mathobject数学工具对象(全静态)
Datefunction日期时间构造器
JSONobjectJSON 解析/序列化工具
Mapfunction键值对集合(可迭代、键可为任意值)
Setfunction值集合(去重、可迭代)
SymbolfunctionSymbol 原始值工厂函数
Promisefunction异步结果容器
RegExpfunction正则构造器
Errorfunction通用错误构造器
AggregateErrorfunction聚合错误(常见 Promise.any 全失败)
EvalErrorfunction历史错误类型(很少用)
RangeErrorfunction越界/范围错误
ReferenceErrorfunction引用未定义变量等错误
SyntaxErrorfunction语法错误
TypeErrorfunction类型错误
URIErrorfunctionURI 编解码错误
BigIntfunctionBigInt 原始值工厂函数
ArrayBufferfunction原始二进制缓冲区
SharedArrayBufferfunction可共享二进制缓冲区(受安全策略影响)
DataViewfunction以多类型/端序读写 buffer
Int8Array 等 TypedArrayfunction类型化数组视图(多种数值类型)
BigInt64Array/BigUint64ArrayfunctionBigInt 类型化数组视图
Atomicsobject原子操作工具(配合 SharedArrayBuffer)
WeakMapfunction弱引用键集合(键必须是对象、不可枚举)
WeakSetfunction弱引用值集合(值必须是对象、不可枚举)
WeakReffunction弱引用包装(deref 可能为空)
FinalizationRegistryfunction对象回收后回调注册(时序不保证)
GeneratorFunctionfunction生成器函数构造器对象
AsyncGeneratorFunctionfunction异步生成器函数构造器对象
AsyncFunctionfunctionasync 函数构造器对象
Reflectobject反射工具集(与 Proxy 配套)
Proxyfunction代理对象(拦截底层操作)
Intlobject国际化命名空间(ECMA-402)

Object

静态方法/属性

API类型返回值说明
Object.keys()functionArray返回可枚举自身字符串键数组
Object.values()function返回可枚举自身值数组
Object.entries(obj)functionArray返回 [key,value] 数组
Object.fromEntries()function[key,value] 数组 → 对象
Object.assign(target, ...sources)functionobject浅拷贝合并对象
Object.create(proto, propertiesObject?)functionobject指定原型创建对象,可带属性描述符
Object.defineProperty(obj, prop, {descriptor})functionobject定义/修改单个属性描述符
Object.defineProperties(obj, {prop1:{descriptor}})functionobject批量定义属性描述符
Object.getOwnPropertyDescriptor()function获取单个属性描述符
Object.getOwnPropertyDescriptors()function获取所有自身属性描述符
Object.getOwnPropertyNames()function所有自身属性名(含不可枚举)
Object.getOwnPropertySymbols()function所有自身 Symbol 属性
Object.preventExtensions()function禁止添加新属性
Object.isExtensible()function判断对象是否可扩展
Object.seal()function浅密封(不可配置+不可扩展)
Object.isSealed()functionBoolean判断对象是否已密封
Object.freeze(obj)function浅冻结
Object.isFrozen()functionBoolean判断对象是否已冻结
Object.hasOwn()function判断是否有自身属性(推荐)
Object.setPrototypeOf()function设置原型(谨慎使用)
Object.getPrototypeOf()function获取原型
Object.isfunctionBooleanSameValue 比较(区分 +0/-0NaN 等)

实例方法

API/属性类型返回值简介
constructorproperty指向构造函数(可被改写,不要强依赖)
hasOwnPropertyfunction自有属性判断(可能被覆盖)
isPrototypeOffunction判断当前对象是否出现在对方原型链上
propertyIsEnumerablefunction判断属性是否可枚举
toStringfunction返回 "[object Type]" 形式字符串
toLocaleStringfunction本地化字符串表现
valueOffunction返回原始值(对象通常返回自身)
protoaccessor历史遗留的原型访问器(不推荐)
defineGetter/defineSetterfunction历史 getter/setter API(不推荐)
lookupGetter/lookupSetterfunction历史查询 getter/setter(不推荐)

Function

静态属性

API说明备注
Function.length期望参数个数(固定参数)

实例属性/方法

API说明备注
length形参数量(不含 rest 参数)
name函数名称(匿名函数可能为空)
call()指定 this 调用
apply()指定 this + 参数数组调用
bind()绑定 this 并返回新函数
toString()返回函数源码字符串

Array

静态方法

API说明备注
Array.isArray()判断是否为真数组
Array.from()类数组/可迭代对象 → 数组
Array.of()根据参数创建数组

实例属性/方法(按是否修改原数组分类)

修改原数组的方法

API说明备注
push() / pop()末尾添加/删除
unshift() / shift()头部添加/删除
splice()删除/插入/替换
sort()排序(默认 Unicode)
reverse()反转数组
copyWithin()原地复制一段复制到另一段

不修改原数组的方法(返回新数组)

API说明备注
concat()拼接
slice()切片
map()映射
filter()过滤
flat() / flatMap()扁平化
toReversed()返回反转后的新数组ES2023 新特性
toSorted()返回排序后的新数组ES2023 新特性
toSpliced()返回 splice 后的新数组ES2023 新特性
with(index, value)返回替换指定索引后的新数组ES2023 新特性

查找/判断/遍历

API说明备注
at(index)支持负数索引取值ES2022 新特性
includes()是否包含某值
indexOf() / lastIndexOf()查找索引(===)
find() / findIndex()查找第一个满足条件的元素/索引
findLast() / findLastIndex()从后往前查找ES2023 新特性
some() / every()部分/全部满足条件
forEach()遍历(无返回值)
reduce() / reduceRight()归并/累加
join()连接成字符串
toString()相当于 join(',')

String

静态方法(无常用)

实例属性/方法

API说明备注
length字符串长度
at(index)支持负索引ES2022 新特性
charAt() / charCodeAt()获取字符 / Unicode
indexOf() / lastIndexOf()查找位置
includes()是否包含
startsWith() / endsWith()判断开头/结尾
slice() / substring()截取(substr 已废弃)
trim() / trimStart() / trimEnd()去空格
padStart() / padEnd()填充到指定长度ES2017
repeat(count)重复 n 次
replace() / replaceAll()替换(replaceAll 为 ES2021)
split()按分隔符拆数组
toLowerCase() / toUpperCase()大小写转换
localeCompare()本地化比较
match() / matchAll()正则匹配(matchAll 返回迭代器)ES2020
search()返回正则匹配位置
normalize()Unicode 标准化

Number

静态属性/方法

API说明备注
Number.EPSILON最小精度差ES6
Number.MAX_SAFE_INTEGER最大安全整数ES6
Number.MIN_SAFE_INTEGER最小安全整数ES6
Number.isNaN()真 NaN 判断ES6
Number.isFinite()真有限数判断ES6
Number.isInteger()是否整数ES6
Number.isSafeInteger()是否安全整数ES6
Number.parseInt() / parseFloat()字符串转数字ES6

实例方法

API说明
toFixed(n)保留 n 位小数(字符串)
toPrecision(n)有效数字位数
toExponential(n)科学计数法
toString(radix)转为指定进制字符串
valueOf()返回原始数值

Math(全静态)

API说明备注
Math.PI / Math.E圆周率 / 自然对数底数
Math.abs()绝对值
Math.floor() / ceil() / round() / trunc()各种舍入
Math.max() / min()最值
Math.pow() / sqrt() / cbrt()幂 / 平方根 / 立方根
Math.random()[0,1) 随机数
Math.sign()返回 -1 / 0 +1ES6
Math.log() / log10() / log2() / log1p()对数ES6
Math.sin() / cos() / tan() / asin() 等三角函数
Math.sinh() / cosh() / tanh() 等双曲函数ES6
Math.hypot(...args)斜边长度(√(x²+y²+...))ES6
Math.clz32()前导零个数(32 位)ES6
Math.imul()32 位整数乘法ES6
Math.fround()转为 32 位浮点数ES6

Date

静态方法

API说明
Date.now()当前时间戳(ms)
Date.parse()字符串 → 时间戳
Date.UTC()UTC 时间

实例方法(常用)

API说明
getFullYear() / getMonth() / getDate() 等本地时间组件
getUTCFullYear() 等UTC 时间组件
setFullYear() 等设置时间组件
getTime() / setTime()时间戳操作
toISOString()ISO 8601 格式(UTC)
toJSON()等同 toISOString()
toLocaleString() / toLocaleDateString() 等本地化格式

JSON(全静态)

API说明
JSON.parse()字符串 → JS 值
JSON.stringify()JS 值 → 字符串(可传 replacer/space)

Promise

静态方法

API说明备注
Promise.resolve()快速返回 resolved Promise
Promise.reject()快速返回 rejected Promise
Promise.all()全部成功才成功
Promise.allSettled()所有都完成(无论成功失败)ES2020
Promise.any()第一个成功即成功ES2021 新特性
Promise.race()第一个完成(无论成功失败)
Promise.withResolvers()返回 {promise, resolve, reject}ES2024 提案(已落地)

实例方法

API说明
then()成功回调
catch()失败回调
finally()无论如何都执行

Map

实例属性/方法

API说明
size元素个数
set() / get()设置/获取
has()是否存在 key
delete()删除
clear()清空
keys()遍历键值对
keys() / values()遍历键/值
forEach()遍历

Set

实例属性/方法

API说明
size元素个数
add()添加(去重)
has() / delete() / clear()同 Map
keys() / values() / entries()keys() 和 values() 都返回值
forEach()遍历

Symbol

静态方法

API说明
Symbol.for(key)全局 Symbol 注册表
Symbol.keyFor(sym)获取注册表中的 key

常用内置 Symbol(Well-known Symbols)

Symbol说明备注
Symbol.iterator可迭代协议
Symbol.asyncIterator异步可迭代协议
Symbol.toStringTag自定义 Object.prototype.toString()
Symbol.hasInstance自定义 instanceof
Symbol.species控制衍生类构造函数
Symbol.match / search / replace / split正则相关
Symbol.toPrimitive自定义类型转换
Symbol.dispose同步资源清理(using)ES2024 新特性
Symbol.asyncDispose异步资源清理(await using)ES2024 新特性