escape( )
对字符串编码可用性
JavaScript 1.0; JScript 1.0; ECMAScript v1; ECMAScript v3反对使用
语法
escape(s)
参数
- s
-
要被转义或编码的字符串。
返回值
编码了的s的副本,其中某些字符被替换成了十六进制的转义序列。
描述
escape()是全局函数。它返回一个含有s的编码版本的新字符串。s自身并没有被修改。
在escape()返回的字符串中,除了ASCII字母、数字和标点符号@、*、_、+、-、.、和\之外,所有字符都由形为%xx或%uxxxx(x表示十六进制的数字)的转义序列 替代。从\u0000到\u00ff的Unicode字符由转义序列%xx替代,其他所有Unicode 字符由%uxxxx序列替代。
使用函数unescape()可以对escape()编码的字符串进行解码。
在客户端JavaScript中,escape()通常是对cookie值编码,它们含有的标点符号具有限制。参阅客户端参考手册部分的“Document.cookie”参考页。
虽然ECMAScript的第一个版本标准化了escape()函数,但是ECMAScriptv3反对使用该方法,并从标准中删除了它。ECMAScript的实现可能实现了该函数,但它不是必需的。在JavaScript 1.5和JScript 5.5及其后的版本中,应该用encodeURI()和 encodeURIComponent()代替escape()。
示例
escape("Hello World!"); // 返回 "Hello%20World%21"
参阅
encodeURI( ), encodeURIComponent( ), String, escape( ); Document.cookie in the client-side reference section