Skip to content

JavaScript API 总览 ​

定义 ​

内置 API 指 JavaScript 语言及浏览器环境提供的全局值、关键字、全局函数与核心对象方法。本文是浏览器端入门的速查清单,非完整百科;深入机制见 内置构造与包装 与阮一峰教程等。

概念要点 ​

  • 全局对象(浏览器):window 是顶层对象;var 声明的全局变量会挂到 window(let/const 不会)。
  • 原始类型 vs 包装对象:'abc'.length 能调用方法,是因为临时包装;详见进阶。
  • 可变 vs 不可变:原始值不可变;数组/对象内容可变。
  • 链式调用:部分方法返回自身或新值,如 ' hi '.trim().toUpperCase()。
  • 异步 API:Promise 是现代异步基础;DOM 事件见 事件监听。

全局值与关键字(精简) ​

类别名称说明
原始值undefined、null、true、false基础字面量
数值NaN、Infinity非数字、无穷大
全局对象globalThis跨环境统一全局引用
类型检测typeof、instanceof见 变量与类型
声明let、const、function、class勿用 var
模块import、export见 模块化
严格'use strict'module 默认严格

全局函数(常用) ​

函数作用示例
parseInt(str, radix)解析整数parseInt('42px', 10) → 42
parseFloat(str)解析浮点数parseFloat('3.14') → 3.14
Number(val)转数字Number('42') → 42
String(val)转字符串String(123) → '123'
Boolean(val)转布尔Boolean('') → false
isNaN(val)是否 NaN(有坑)优先 Number.isNaN
encodeURIComponentURI 组件编码拼 query 参数
decodeURIComponentURI 组件解码
setTimeout(fn, ms)延迟执行异步定时
setInterval(fn, ms)周期执行记得 clearInterval

Object ​

方法作用
Object.keys(obj)自有可枚举键数组
Object.values(obj)自有可枚举值数组
Object.entries(obj)[key, value] 数组
Object.assign(target, ...src)浅合并到 target
Object.hasOwn(obj, key)是否有自有属性
Object.freeze(obj)冻结(浅)

详见 对象。

Array ​

方法作用变异
push/pop/shift/unshift增删首尾✅
splice/slice删插 / 截取splice ✅
indexOf/includes查找❌
find/findIndex条件查找❌
forEach/map/filter/reduce迭代变换❌
some/every布尔判断❌
join(sep)拼接字符串❌
sort(fn)排序✅
Array.isArray(val)是否数组❌

详见 循环与数组。

String ​

方法作用
length字符长度(属性)
charAt(i) / [i]取字符
slice/start/end)截取
indexOf/lastIndexOf/includes查找
toLowerCase/toUpperCase/trim大小写 / 去空白
split(sep)分割为数组
replace/search/match正则相关 → regexp
startsWith/endsWith前缀 / 后缀判断
padStart/padEnd填充

Number / Math / Date ​

对象常用 API
NumberNumber.isNaN、Number.isFinite、Number.parseInt、toFixed(n)
MathMath.floor/ceil/round、Math.max/min、Math.random、Math.abs、Math.pow
Datenew Date()、getFullYear/getMonth/getDate、getTime()、toISOString()
javascript
Math.floor(3.7); // 3 — 向下取整
Number(0.1 + 0.2).toFixed(1); // '0.3' — 格式化(字符串)
const now = new Date();
now.getFullYear(); // 当前年份

JSON ​

方法作用
JSON.stringify(obj)对象 → JSON 字符串
JSON.parse(str)JSON 字符串 → 对象
javascript
const data = { name: "小明", age: 18 };
const json = JSON.stringify(data); // '{"name":"小明","age":18}'
JSON.parse(json); // 还原对象

Promise(入门) ​

方法作用
new Promise((resolve, reject) => {})创建异步任务
.then(fn)成功回调
.catch(fn)失败回调
.finally(fn)无论成败都执行
Promise.all([...])全部完成
Promise.resolve/reject快速创建
javascript
fetch("/api/user") // fetch 返回 Promise
  .then((res) => res.json()) // 解析 JSON
  .then((data) => console.log(data))
  .catch((err) => console.error(err));

Map / Set ​

类型用途常用 API
Map键值对,键可为任意类型set/get/has/delete/size/clear
Set唯一值集合add/has/delete/size/clear
javascript
const map = new Map();
map.set("name", "小明");
map.get("name"); // '小明'

const set = new Set([1, 2, 2, 3]);
set.size; // 3 — 自动去重

示例 ​

综合小片段 ​

javascript
const users = [
  { name: "小明", score: 85 },
  { name: "小红", score: 92 },
];

const passed = users
  .filter((u) => u.score >= 60) // 过滤及格
  .map((u) => u.name); // 只取姓名

const uniqueNames = [...new Set(passed)]; // 去重(示例)
JSON.stringify({ list: uniqueNames }); // 序列化

易错点与交叉引用 ​

问题说明
parseInt 无 radix以 0 开头可能被当八进制;始终传 10
sort() 默认字典序数字排序需 (a,b) => a - b
JSON.stringify 丢失undefined、函数、Symbol 会被忽略
Date 月份从 0 起getMonth() 0 = 一月
Math.random 非加密安全随机用 crypto.getRandomValues
深拷贝JSON.parse(JSON.stringify()) 仅适合 JSON 数据

基础章节:简介与引入 · 变量与类型 · 运算符与语句 · 循环与数组 · 函数与作用域 · 对象 · 正则表达式

进阶章节:内置构造与包装 · 作用域与闭包 · DOM 基础

MDN 参考 ​