unescape() - JavaScript | MDN

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

unescape()

Deprecated

Avoid using this feature in new projects. TC39 included the escape() and unescape() methods in Annex B of the ECMAScript specification, which covers JavaScript features with "one or more undesirable characteristics and in the absence of legacy usage would be removed." This feature may be a candidate for removal from web standards or browsers.>

>

备注: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"); // "ć"

规范

规范
ECMAScript® 2027 Language Specification>
# sec-unescape-string>

浏览器兼容性

参见