--- title: 废弃和过时的特性 slug: Web/JavaScript/Reference/Deprecated_and_obsolete_features tags: - JavaScript - 废弃 - 指南 - 过时 translation_of: Web/JavaScript/Reference/Deprecated_and_obsolete_features ---
本附录列出了那些已经废弃(仍然可用,但是已计划删除)或者过时(已被删除,无法使用)的 JavaScript 特性。
这些废弃的特性仍然可以使用,但是使用时一定要保持谨慎,因为它们很可能会在未来的某个时间点被移除。应当将其从需要使用的代码中移除。
下面的这些属性已经被废弃。注意,这和{{jsxref("String.replace", "替换字符串")}}中使用的同名标记没有直接关系。
属性 | 描述 |
---|---|
{{jsxref("RegExp.n", "$1-$9")}} |
捕获分组的匹配结果。 |
{{jsxref("RegExp.input", "$_")}} | input 属性的别名。 |
{{jsxref("RegExp.multiline", "$*")}} | multiline 属性的别名。 |
{{jsxref("RegExp.lastMatch", "$&")}} | lastMatch 属性的别名。 |
{{jsxref("RegExp.lastParen", "$+")}} | lastParen 属性的别名。 |
{{jsxref("RegExp.leftContext", "$`")}} | leftContext 属性的别名。 |
{{jsxref("RegExp.rightContext", "$'")}} | rightContext 属性的别名。 |
{{jsxref("RegExp.input", "input")}} | 正则表达式的匹配结果。 |
{{jsxref("RegExp.lastMatch", "lastMatch")}} | 上次匹配结果的最后一个字符串。 |
{{jsxref("RegExp.lastParen", "lastParen")}} | 上次匹配中,最后一个捕获分组的匹配结果。 |
{{jsxref("RegExp.leftContext", "leftContext")}} | 上次匹配结果左边的字符串。 |
{{jsxref("RegExp.rightContext", "rightContext")}} | 上次匹配结果右边的字符串。 |
应该使用下面这些 RegExp
实例上的同名属性来代替上面这些 RegExp
对象的属性:
属性 | 描述 |
---|---|
{{jsxref("RegExp.global", "global")}} | 该正则是否开启了全局匹配模式。 |
{{jsxref("RegExp.ignoreCase", "ignoreCase")}} | 该正则是否开启了忽略大小写模式。 |
{{jsxref("RegExp.lastIndex", "lastIndex")}} | 上次成功匹配的索引位置。 |
{{jsxref("RegExp.multiline", "multiline")}} | 该正则是否开启了多行模式。 |
{{jsxref("RegExp.source", "source")}} | 正则的源文本。 |
{{jsxref("RegExp.compile", "compile()")}} 方法已被废弃。
valueOf
方法已被废弃。使用 {{jsxref("Object.valueOf()")}} 代替它。
{{jsxref("Global_Objects/Function/caller", "caller")}} 和 {{jsxref("Global_Objects/Function/arguments", "arguments")}} 属性已经废弃,因为它们会泄漏调用函数的对象。应当在函数内部使用 arguments
对象来代替函数的 arguments
属性。
__iterator__
方法已被废弃。Proxy.create()
和 Proxy.createFunction()
已被废弃。使用 {{jsxref("Proxy")}} 即可。hasOwn
(bug 980565, Firefox 33).getEnumerablePropertyKeys
(bug 783829, Firefox 37)getOwnPropertyNames
(bug 1007334, Firefox 33)keys
(bug 1007334, Firefox 33)字符串字面量(literal)和正则表达式字面量中的八进制转义序列(反斜杠 \
后跟一到三位的八进制数字)已被废弃。
{{jsxref("Global_Objects/escape", "escape")}} 函数和 {{jsxref("Global_Objects/unescape", "unescape")}}函数已被废弃。使用 {{jsxref("Global_Objects/encodeURI", "encodeURI")}}、{{jsxref("Global_Objects/encodeURIComponent", "encodeURIComponent")}}、{{jsxref("Global_Objects/decodeURI", "decodeURI")}} 或 {{jsxref("Global_Objects/decodeURIComponent", "decodeURIComponent")}} 对特殊字符进行转义序列编码和解码。
flags
parameter in {{jsxref("String.prototype.search")}}, {{jsxref("String.prototype.match")}}, and {{jsxref("String.prototype.replace")}} are deprecated.这些过时的特性已经完全被删除,不能在当前或者未来版本的 JavaScript 中使用了。
属性 | 描述 |
---|---|
{{jsxref("Global_Objects/Object/count", "__count__")}} | 返回用户自定义对象上的可枚举自身属性的个数。 |
{{jsxref("Global_Objects/Object/Parent", "__parent__")}} | 指向一个对象的上下文。 |
{{jsxref("Global_Objects/Object/eval", "Object.prototype.eval()")}} | 在指定对象的上下文上执行一个包含 JavaScript 代码的字符串。 |
{{jsxref("Object.observe()")}} | Asynchronously observing the changes to an object. |
{{jsxref("Object.unobserve()")}} | Remove observers. |
{{jsxref("Object.getNotifier()")}} | Creates an object that allows to synthetically trigger a change. |
属性 | 描述 |
---|---|
{{jsxref("Global_Objects/Function/arity", "arity")}} | 形参的数量。 |
属性 | 描述 |
{{jsxref("Array.observe()")}} | Asynchronously observing changes to Arrays. |
{{jsxref("Array.unobserve()")}} | Remove observers. |
详见 E4X。