# URL API
# 一、URL
URL (opens new window) 接口用于解析,构造,规范化和编码 URL。
构造函数:
使用 URL() (opens new window) 构造函数创建一个新的 URL (opens new window) 对象,该对象表示由参数定义的 URL。
let baseUrl = 'https://www.baidu.com';
let rootUrl = new URL('/', baseUrl); // 生成 https://www.baidu.com/
静态方法:
URL.createObjectURL (opens new window)(object)
生成指向
Blob/File对象的临时 URL。const url = URL.createObjectURL(blob); // 使用后需通过 revokeObjectURL 释放内存URL.revokeObjectURL (opens new window)(objectURL)
释放由
createObjectURL创建的资源引用。
# 二、URLSearchParams
URLSearchParams (opens new window) 接口提供了处理 URL 查询参数的标准化方法。
构造函数:
使用 URLSearchParams() (opens new window) 构造函数创建一个新的 URLSearchParams (opens new window) 对象。
// 方式1: 通过查询字符串初始化
const params1 = new URLSearchParams("q=search&page=2");
// 方式2: 通过对象初始化
const params2 = new URLSearchParams({q: "test", sort: "price"});
// 方式3: 通过二维数组初始化
const params3 = new URLSearchParams([["type", "article"]]);
实例方法:
| 方法 | 功能说明 | 示例 |
|---|---|---|
.append(name, val) (opens new window) | 追加参数 | params.append('filter', '2023') |
.delete(name) (opens new window) | 删除指定参数 | params.delete('page') |
.get(name) (opens new window) | 获取首个匹配参数值 | params.get('q') |
.getAll(name) (opens new window) | 获取全部同名参数值 | params.getAll('category') |
.has(name) (opens new window) | 检查参数是否存在 | params.has('search') |
.set(name, val) (opens new window) | 设置/覆盖参数 | params.set('page', '5') |
.sort() (opens new window) | 按名称排序参数 | params.sort() |