escape()

已弃用: 此功能不再推荐。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被删除,或者可能仅出于兼容性目的而保留。避免使用它,并在可能的情况下更新现有代码;请参阅此页面底部的 兼容性表 以指导您的决策。请注意,此功能可能会在任何时间停止工作。

注意: escape() 是浏览器实现的非标准函数,仅为了跨引擎兼容性而标准化。并非所有 JavaScript 引擎都必须实现它,并且可能无法在任何地方工作。如果可能,请使用 encodeURIComponent()encodeURI()

escape() 函数计算一个新字符串,其中某些字符已被十六进制转义序列替换。

语法

js
escape(str)

参数

str

要编码的字符串。

返回值

一个新字符串,其中某些字符已转义。

描述

escape() 是全局对象的函数属性。

escape() 函数用转义序列替换所有字符,除了 ASCII 字词字符(A–Z、a–z、0–9、_)和 @\*_+-./。字符由 UTF-16 代码单元转义。如果代码单元的值小于 256,则它以 %XX 格式表示为两位十六进制数,必要时用 0 左填充。否则,它以 %uXXXX 格式表示为四位十六进制数,必要时用 0 左填充。

注意: 此函数主要用于 百分比编码,并且部分基于 RFC 1738 中的转义格式。转义格式不是字符串字面量中的 转义序列。您可以将 %XX 替换为 \xXX,并将 %uXXXX 替换为 \uXXXX 以获取包含实际字符串字面量转义序列的字符串。

示例

使用 escape()

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

// special characters
escape("@*_+-./"); // "@*_+-./"

规范

规范
ECMAScript 语言规范
# sec-escape-string

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅