废弃和过时的特性 - JavaScript 编辑

本附录列出了那些已经废弃(仍然可用,但是已计划删除)或者过时(已被删除,无法使用)的 JavaScript 特性。

废弃特性

这些废弃的特性仍然可以使用,但是使用时一定要保持谨慎,因为它们很可能会在未来的某个时间点被移除。应当将其从需要使用的代码中移除。

RegExp 对象的属性

下面的这些属性已经被废弃。注意,这和替换字符串中使用的同名标记没有直接关系。

属性描述
$1-$9

捕获分组的匹配结果。

$_input 属性的别名。
$*multiline 属性的别名。
$&lastMatch 属性的别名。
$+lastParen 属性的别名。
$`leftContext 属性的别名。
$'rightContext 属性的别名。
input正则表达式的匹配结果。
lastMatch上次匹配结果的最后一个字符串。
lastParen上次匹配中,最后一个捕获分组的匹配结果。
leftContext上次匹配结果左边的字符串。
rightContext上次匹配结果右边的字符串。

应该使用下面这些 RegExp 实例上的同名属性来代替上面这些 RegExp 对象的属性:

属性描述
global该正则是否开启了全局匹配模式。
ignoreCase该正则是否开启了忽略大小写模式。
lastIndex上次成功匹配的索引位置。
multiline该正则是否开启了多行模式。
source正则的源文本。

RegExp 对象的方法

compile() 方法已被废弃。

valueOf 方法已被废弃。使用 Object.valueOf() 代替它。

Function 对象的属性

callerarguments 属性已经废弃,因为它们会泄漏调用函数的对象。应当在函数内部使用 arguments 对象来代替函数的 arguments 属性。

遗留的生成器

迭代器

Object 对象的方法

  • watch 方法和 unwatch 方法已被废弃。使用 Proxy 并编写相应的捕获器代替它们。
  • __iterator__ 方法已被废弃。
  • __noSuchMethod__ 方法已被废弃。使用 Proxy 并编写相应的捕获器作为代替。

Date 对象的方法

函数

Proxy

转义序列

字符串字面量(literal)和正则表达式字面量中的八进制转义序列(反斜杠 \ 后跟一到三位的八进制数字)已被废弃。

escape 函数和 unescape函数已被废弃。使用 encodeURIencodeURIComponentdecodeURIdecodeURIComponent 对特殊字符进行转义序列编码和解码。

String 对象的方法

过时特性

这些过时的特性已经完全被删除,不能在当前或者未来版本的 JavaScript 中使用了。

Object 对象

属性描述
__count__返回用户自定义对象上的可枚举自身属性的个数。
__parent__指向一个对象的上下文。
Object.prototype.eval()在指定对象的上下文上执行一个包含 JavaScript 代码的字符串。
Object.observe()Asynchronously observing the changes to an object.
Object.unobserve()Remove observers.
Object.getNotifier()Creates an object that allows to synthetically trigger a change.

函数

属性描述
arity形参的数量。

Array 对象

属性描述
Array.observe()Asynchronously observing changes to Arrays.
Array.unobserve()Remove observers.

Number 对象

ParallelArray 对象

声明

E4X

详见 E4X

变量引用语法(Sharp variables)

详见 JavaScript 中的变量引用语法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:79 次

字数:17199

最后编辑:8 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文