url
[TOC]
索引
url
- url.parse():
(urlString, parseQueryString?, slashesDenoteHost?)
,废弃,用于解析 URL 字符串,并返回一个包含各个组成部分的 URL 对象。 - url.fileURLToPath():
( url )
,用于将 file 协议的 URL 转换为对应的文件系统路径。
URL
属性:
- 与 Location 属性一致
- href:
https://example.com:8080/path?q=1#hash
,获取或设置完整的 URL。修改会触发页面跳转。 - protocol:
https:
,URL 的协议(含:
)。修改可能触发跳转。 - hostname:
example.com
,域名部分。修改会跳转到新域名。 - port:
8080
,端口号(字符串形式)。若无则为空。修改会跳转到新端口。 - host:
example.com:8080
,域名 + 端口(若端口非默认)。修改会跳转。 - pathname:
/path/
,路径部分(以/
开头)。修改会跳转到新路径。 - search:
?q=1
,查询字符串(含?
)。修改会重新加载页面。 - hash:
#hash
,哈希部分(含#
),用于页面锚点。修改不会重载页面,但会记录历史。 - origin:
https://example.com:8080
,只读,协议 + 域名 + 端口。 - 特有属性:
- url.searchParams:
URLSearchParams
,返回专门用于操作 URL 查询参数的 URLSearchParams 对象(即 ? 后的键值对)。
方法:
- new URL():
(urlString,baseUrlString?)
,用于创建并解析一个 URL 对象,提供对 URL 各组成部分的标准化访问和操作。 - URL.createObjectURL():
(object)
,用于为Blob
或File
对象生成临时 URL 的方法,允许在浏览器中直接引用本地文件或内存中的数据(如图片、视频、二进制流等)。 - URL.revokeObjectURL():
(objectURL)
,用于释放由 URL.createObjectURL() 生成的临时 URL 所占用的内存,避免内存泄漏。
URLSearchParams
方法:
- new URLSearchParams():
(init?)
,创建一个专门用于操作 URL 的查询参数的实例。 - params.append():
(key, value)
,用于向 URL 的查询参数中添加一个新的键值对,即使键已存在也不会覆盖原有值,而是追加新的值。 - params.delete():
(key)
,用于删除 URL 查询参数中指定键的所有值。 - params.get():
(key)
,用于从 URL 的查询参数中获取指定键的第一个值。 - params.set():
(key,value)
,用于设置指定键的查询参数值。若键已存在,则覆盖其所有值;若不存在,则添加新的键值对。 - params.has():
(key)
,用于检查 URL 的查询参数中是否存在指定键。 - params.getAll():
(key)
,用于从 URL 的查询参数中获取指定键的所有值(以数组形式返回)。 - params.sort():
()
,用于按键名对 URL 的查询参数进行排序,并原地修改参数列表。 - params.toString():
()
,用于将查询参数序列化为 URL 编码的字符串(即?
后的键值对部分)。 - params.keys():
()
,用于获取 URL 查询参数中所有键的迭代器。它允许你遍历查询字符串中的所有键名。 - params.values():
()
,用于获取 URL 查询参数中所有值的迭代器。它允许你遍历查询字符串中的所有参数值。 - params.entries():
()
,用于获取 URL 查询参数中所有键值对的迭代器。它允许遍历查询字符串中的所有参数,并以[key, value]
数组形式返回每个键值对。 - params.forEach():
(callback,thisArg?)
,用于遍历 URL 查询参数中的所有键值对,并对每个键值对执行回调函数。
url
url
parse()
url.parse():(urlString, parseQueryString?, slashesDenoteHost?)
,废弃,用于解析 URL 字符串,并返回一个包含各个组成部分的 URL 对象。
urlString:
string
,要被解析的 URL 字符串。parseQueryString?:
true |false
,true
:(),query
属性会被解析并转换成一个对象。false
:(默认),query
属性会保持为一个未解析的字符串。
slashesDenoteHost?:
true |false
,true
:(),第一个双斜杠之后直到下一个斜杠之前的字符串会被解析为host
false
:(默认),
返回值:
urlObject:
URL
,(),返回一个 URL 对象,该对象包含以下属性:href
:完整的原始 URL。protocol
:URL 的协议部分,末尾包含冒号。slashes
:如果协议后面跟着两个斜杠(//
),则为true
。host
:完整的主机名,包括端口号(如果有)。auth
:URL 中的认证信息,通常是用户名和密码。hostname
:主机名,不包括端口号。port
:端口号(如果有)。pathname
:URL 的路径部分。search
:查询字符串部分,以问号开头。path
:路径和查询字符串的组合。query
:查询字符串,未解析的字符串或解析后的对象(取决于parseQueryString
参数)。hash
:片段标识符部分,以井号开头。
fileURLToPath()
url.fileURLToPath():( url )
,用于将 file 协议的 URL 转换为对应的文件系统路径。
url:
,(),一个表示文件 URL 的字符串或者是一个
URL
对象。如:file:///C:/path/to/file.txt
返回值: 返回一个字符串,表示转换后的文件系统路径。如:
C:\path\to\file.txt
URL
属性:
- 与 Location 属性一致
- href:
https://example.com:8080/path?q=1#hash
,获取或设置完整的 URL。修改会触发页面跳转。 - protocol:
https:
,URL 的协议(含:
)。修改可能触发跳转。 - hostname:
example.com
,域名部分。修改会跳转到新域名。 - port:
8080
,端口号(字符串形式)。若无则为空。修改会跳转到新端口。 - host:
example.com:8080
,域名 + 端口(若端口非默认)。修改会跳转。 - pathname:
/path/
,路径部分(以/
开头)。修改会跳转到新路径。 - search:
?q=1
,查询字符串(含?
)。修改会重新加载页面。 - hash:
#hash
,哈希部分(含#
),用于页面锚点。修改不会重载页面,但会记录历史。 - origin:
https://example.com:8080
,只读,协议 + 域名 + 端口。 - 特有属性:
- url.searchParams:
URLSearchParams
,返回专门用于操作 URL 查询参数的 URLSearchParams 对象(即 ? 后的键值对)。
方法:
- new URL():
(urlString,baseUrlString?)
,用于创建并解析一个 URL 对象,提供对 URL 各组成部分的标准化访问和操作。 - URL.createObjectURL():
(object)
,用于为Blob
或File
对象生成临时 URL 的方法,允许在浏览器中直接引用本地文件或内存中的数据(如图片、视频、二进制流等)。 - URL.revokeObjectURL():
(objectURL)
,用于释放由 URL.createObjectURL() 生成的临时 URL 所占用的内存,避免内存泄漏。
URLSearchParams
方法:
- new URLSearchParams():
(init?)
,创建一个专门用于操作 URL 的查询参数的实例。 - params.append():
(key, value)
,用于向 URL 的查询参数中添加一个新的键值对,即使键已存在也不会覆盖原有值,而是追加新的值。 - params.delete():
(key)
,用于删除 URL 查询参数中指定键的所有值。 - params.get():
(key)
,用于从 URL 的查询参数中获取指定键的第一个值。 - params.set():
(key,value)
,用于设置指定键的查询参数值。若键已存在,则覆盖其所有值;若不存在,则添加新的键值对。 - params.has():
(key)
,用于检查 URL 的查询参数中是否存在指定键。 - params.getAll():
(key)
,用于从 URL 的查询参数中获取指定键的所有值(以数组形式返回)。 - params.sort():
()
,用于按键名对 URL 的查询参数进行排序,并原地修改参数列表。 - params.toString():
()
,用于将查询参数序列化为 URL 编码的字符串(即?
后的键值对部分)。 - params.keys():
()
,用于获取 URL 查询参数中所有键的迭代器。它允许你遍历查询字符串中的所有键名。 - params.values():
()
,用于获取 URL 查询参数中所有值的迭代器。它允许你遍历查询字符串中的所有参数值。 - params.entries():
()
,用于获取 URL 查询参数中所有键值对的迭代器。它允许遍历查询字符串中的所有参数,并以[key, value]
数组形式返回每个键值对。 - params.forEach():
(callback,thisArg?)
,用于遍历 URL 查询参数中的所有键值对,并对每个键值对执行回调函数。