unescape()

已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。

备注: unescape() 是由浏览器实现的非标准函数,其仅针对跨引擎兼容性而进行了标准化。并不要求所有的 JavaScript 引擎都实现它,并且可能无法在所有地方都正常工作。如果可能的话,请使用 decodeURIComponent()decodeURI()

unescape() 函数计算一个新的字符串,将其中的十六进制转义序列替换为它们所代表的字符。转义序列可能是由 escape() 等函数引入的。

语法

js
unescape(str)

参数

str

要解码的字符串。

返回值

一个其中的某些字符已被解码的新的字符串。

描述

unescape 函数是全局对象的函数属性。

unescape() 函数将任何转移序列替换为它所代表的字符。具体来说,它将任何形式为 %XX%uXXXX(其中 X 代表一个十六进制数字)的转义序列替换为十六进制值为 XX/XXXX 的字符。如果转义序列无效(例如,如果 % 后面跟着一个或未跟十六进制数字),则保持不变。

备注:该函数主要用于 URL 编码,其部分基于 RFC 1738 中的转义格式。unescape() 函数不会对字符串字面量中的转义序列进行求值。你可以将 \xXX 替换为 %XX,将 \uXXXX 替换为 %uXXXX,以获得一个可以被 unescape() 处理的字符串。

示例

使用 unescape()

js
unescape("abc123"); // "abc123"
unescape("%E4%F6%FC"); // "äöü"
unescape("%u0107"); // "ć"

规范

Specification
ECMAScript Language Specification
# sec-unescape-string

浏览器兼容性

BCD tables only load in the browser

参见