ES5新特性

Object.create(prototype, descriptors)

以指定的原型创建对象,并且可以(可选)的设置对象的属性

Object.defineProperty(object, propertyname, descriptor)

对指定的对象的一个属性设置丰富的值控制

Object.defineProperties(object, descriptors)

对指定的对象的一组属性提供丰富的值控制

APIObject.getOwnPropertyDescriptor(object, propertyname)

返回属性的定义

Object.getOwnPropertyNames(object)

返回所有属性的名称,哪怕说是不能枚举的属性

Object.preventExtensions(object)

防止新的属性添加到对象

Object.isExtensible(object)

是否可添加属性到对象


Object.seal(object)

不能添加和删除属性

Object.isSealed(object)

alert(Object.isSealed(PokerA)); //true  

Object.seal(PokerA);  

alert(Object.isSealed(PokerA)); //false  

如果要再严一点,完全封死对象,可以

Object.freeze(object)

防止现有属性和属性值的修改,并防止新特性的添加。

Object.isFrozen(object)

最后如果想要得到对象原型,可以用

Object.getPrototypeOf(object)

关于object的就差不多上面这些了。然后看下ECMAScript5再其他对象上的扩展的一些静态成员

Array.isArray

啥意思不必说了

Array.IndexOf

Array.lastIndexOf

一看就是好东西呀,不解释了

alert(["Hello", "javaScript", "ECMAScript", "HTML5"].indexOf("javaScript"));//1  

alert(["Hello", "javaScript", "ECMAScript", "HTML5"].lastIndexOf("javaScript"));//1  

Array.every

对数组的每个元素进行一个callback的条件检查,查看是否存在有不符合条件的元素。类似linq的all

Array.some

是判断数组有没有符合条件的元素,类似linq的any 

Array.forEach


Array.map


Array.filter

如果是要过滤数组的话,可以用


Array.reduce

如果要做叠加器处理可以用

Date().toJSON()

含义一眼看出,内置就是爽


字符串给了一个trim,啥都没有好说了,你来晚了

alert("[" + "   Hello ".trim() + "]"); //[Hello]  


https://msdn.microsoft.com/zh-cn/library/dn656907.aspx

https://msdn.microsoft.com/zh-cn/library/br212465(v=vs.94).aspx

http://lzw.me/pages/ecmascript/#0


你可能感兴趣的:(ES5新特性)