decodeURI
✨ 简要概括 decodeURIComponent 和 decodeURI 的区别
| 特性 | decodeURI(uri) | decodeURIComponent(uriComponent) |
|---|---|---|
| 用途 | 用于解码**完整的 URI**(Uniform Resource Identifier)。 | 用于解码 URI 的一个组件(例如,查询参数、路径段)。 |
| 解码对象 | 解码所有被编码的字符,但**不解码**保留字符:#, $, &, +, ,, /, :, ;, =, ?, @。这是因为这些字符在完整的 URI 中有特殊含义(例如,? 分隔路径和查询)。 |
解码所有被编码的字符,**包括**所有的保留字符(如 &, =, ?, / 等)。 |
| 何时使用 | 当您想还原**整个 URL**,并且希望保留 URI 结构中具有特殊意义的字符(如 /、?)时使用。 |
当您想还原 URL 中**某个参数的值**或**路径的某一段**时使用,因为这些部分内部不应包含未编码的保留字符。 |
核心区别总结¶
decodeURI:保留 URI 中的**结构字符**(如/,?,&),因为它用于整个 URI。decodeURIComponent:解码所有**字符,包括结构字符,因为它用于 URI 的一个**片段。
简单来说:
decodeURI适用于**整个 URL**。decodeURIComponent适用于 URL 的**一部分**(如查询参数的值)。