JavaScript 1.8.5 的新特性

下面的内容是JavaScript 1.8.5的更新记录. 该版本已包含在Firefox 4中.

JavaScript 1.8.5的新特性

新函数

Function Description
Object.create() 使用指定的原型对象和属性. bug 492840
Object.defineProperty() 为对象添加给定的描述信息的属性名.
Object.defineProperties() 为对象添加多个给定的描述信息的属性名.
Object.getOwnPropertyDescriptor() 返回对象的指定属性名的描述信息. bug 505587
Object.keys() 返回由对象的所有可枚举属性组成的数组. bug 307791
Object.getOwnPropertyNames() 返回由对象的所有可枚举和不可枚举属性组成的数组. bug 518663
Object.preventExtensions() 防止对象进行任意的扩展. bug 492849
Object.isExtensible() 判断对象是否可以扩展. bug 492849
Object.seal() 防止其他代码删除对象的属性. bug 492845
Object.isSealed() 判断对象是否是密封(即禁止删除属性)的. bug 492845
Object.freeze() 冻结一个对象: 其他代码不能删除或修改任何属性. bug 492844
Object.isFrozen() 判断对象是否是冻结的. bug 492844
Array.isArray() 判断变量是否是数组. bug 510537
Date.prototype.toJSON() 返回一个Date对象用JSON格式化的字符串.
Function.prototype.bind() 创建一个新函数,当这个函数被调用时,函数会使用提供的上下文环境(给定的字符序列) bug 429507

ECMAScript5新特性

其他标准化的工作

删除一些定义getters和setters的非标准化语法; ECMAScript 5 定义的语法没有变化. 这些语法很难懂且很少被使用; 如果这个影响到你, 详细内容请看 这篇博客.

新对象

Object Description
Proxy 提供创建对象和函数的代理,以在Javascript中支持元编程.

JavaScript 1.8.5中功能变化