本附录列出了那些已经被废弃的(仍然可用,但未来会被删除)或者已经过时的(已经被删除,不能再用了)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 |
形参的数量 |