JS 废弃和过时的 JavaScript 特性

🌙
手机阅读
本文目录结构

本附录列出了那些已经被废弃的(仍然可用,但未来会被删除)或者已经过时的(已经被删除,不能再用了)JavaScript 特性。

废弃特性

这些废弃的特性仍然可以使用,但你要保持谨慎,因为它们很可能会在未来的某个时候被删除。

RegExp 全局对象的属性

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

属性 描述
$1, …, $9 上次任意正则表达式的匹配操作中对应捕获分组的匹配结果。
$_ input 属性别名。
$* multiline 属性别名。
$& lastMatch 属性别名。
$+ lastParen 属性别名。
$` | leftContext 属性别名。
$' rightContext 属性别名。
input 上次任意正则表达式匹配的目标字符串。
lastMatch 上次任意正则表达式成功匹配的子字符串。
lastParen 上次任意正则表达式的匹配操作中最后一个捕获分组的匹配结果。
leftContext 上次任意正则表达式成功匹配的子字符串左边的字符串
rightContext 上次任意正则表达式成功匹配的子字符串右边的字符串

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

属性 描述
global 该正则是否开启了全局匹配模式。
ignoreCase 该正则是否开启了忽略大小写模式。
lastIndex 上次成功匹配后的索引位置,会成为下次匹配的开始索引位置,只在全局匹配或粘滞匹配模式下可用。
multiline 该正则是否开启了多行模式。
source 正则的源码

RegExp 全局对象的方法

compile 方法已经被废弃。

valueOf 方法已经被废弃。使用 Object.valueOf 来替代。

函数对象的属性

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

Date 方法

getYear 和 setYear 方法因为会受千年虫问题的影响,所以已经被 getFullYear 和 setFullYear 方法替代。同时你还应该用 toISOString 方法来代替已经废弃的 toGMTString 方法。

转义序列

八进制转义序列(反斜杠、后跟一位,两位,或三位的八进制数字)出现在字符串字面量和正则字面量中的的用法已经废弃。

escape 函数和 unescape 函数已经废弃,请使用 encodeURI,encodeURIComponent,decodeURI 或者 decodeURIComponent 来进行给定字符串的编码和解码工作。

过时特性

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

对象

属性 描述
count 返回用户自定义对象上的可枚举自身属性的个数。
parent 指向一个对象的上下文。
方法 描述
eval 在指定对象的上下文上,将一个包含 JavaScript 代码的字符串求值

函数

属性 描述
arity 形参的数量

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>