js unescape实现
unescape 函数的作用
unescape 是 JavaScript 中的一个全局函数,用于解码通过 escape 函数编码的字符串。它将十六进制转义序列(如 %20)转换回原始字符(如空格)。unescape 主要用于处理 URL 编码的字符串,但现代开发中更推荐使用 decodeURI 或 decodeURIComponent。

基本语法
unescape(encodedString)
encodedString:通过 escape 编码的字符串。
示例代码
const encodedStr = "Hello%20World%21";
const decodedStr = unescape(encodedStr);
console.log(decodedStr); // 输出: "Hello World!"
与 escape 的关系
unescape 是 escape 的逆操作。escape 将特殊字符转换为十六进制转义序列,而 unescape 将其还原:

const originalStr = "Hello World!";
const escapedStr = escape(originalStr); // "Hello%20World%21"
const unescapedStr = unescape(escapedStr); // "Hello World!"
现代替代方案
unescape 和 escape 已被标记为废弃(deprecated),推荐使用以下替代方法:
decodeURI:解码完整的 URI,但不解码#、&等保留字符。decodeURIComponent:解码 URI 的组件部分,包括所有特殊字符。
const encodedURI = "Hello%20World%21";
const decodedURI = decodeURIComponent(encodedURI);
console.log(decodedURI); // 输出: "Hello World!"
注意事项
unescape 不会解码 + 为空格(而 decodeURIComponent 会)。例如:
const str = "Hello+World%21";
console.log(unescape(str)); // "Hello+World!"
console.log(decodeURIComponent(str)); // "Hello+World!"
浏览器兼容性
unescape 在所有主流浏览器中均支持,但因其废弃状态,不建议在新项目中使用。






