ES5


ECMAScript5新特性总结

Object.create()

function Shape() {
    this.x = 0;
    this.y = 0;
}
Shape.prototype.move = function(x,y) {
    this.x += x;
    this.y += y;
    console.info("shape moved");
}

function Rectangle() {
    Shape.call(this);
}

Rectangle.prototype = Object.create(Shape.prototype);
var rect = new Rectangle();
console.log(rect instanceof Rectangle); //return true
console.log(rect instanceof Shape);     //return true
rect.move(1,1);

Object.getPrototypeOf()

Object.getOwnPropertyNames()

Object.defineProperty()

Object.defineProperties()

Object.getOwnPropertyDescriptor()

Object.seal()

Object.freeze()

Object.preventExtensions()

Object.isExtrensible()

Object.isSealed()

Object.isFrozen()

Object.keys()

Object.prototype.isPrototypeOf()

Object.prototype.propertyIsEnumerable()

Function.prototype.bind()

    this.x = 3;
    var module = {
        x: 81,
        getX: function() { return this.x }
    }

    console.log(module.getX()); //return 81

    var retriveX = module.getX;
    console.log(retriveX());    //return 3

    var boundGetX = retriveX.bind(module);
    console.log(boundGetX());   //return 81

Array.prototype.every()

    function isBig(ele, index, array) {
        return (ele >= 10);
    }
    var passed = [12,4,8,130,33].every(isBig);
    console.log(passed);

    passed = [12,23,45,66].every(isBig);
    console.log(passed);

Array.prototype.some()

Array.isArray()

Array.prototype.indexOf()

Array.prototype.lastIndexOf()

Array.prototype.filter()

Array.prototype.forEach()

Array.prototype.map()

Array.prototype.reduce()

Array.prototype.reduceRight();

String.trim()

Date.now()

Date.prototype.toISOString()

JSON.parse()

JSON.stringfy()

ES5样例