1. function Person(name) {
    2. this.name = name
    3. }
    4. Person.prototype.getName = function(){
    5. return this.name;
    6. }
    7. var objectFactory = function(){
    8. var obj = new Object(); // 从 Object.prototype 上克隆一个空的对象
    9. var Constructor = [].shift.call(argments); // 取得外部传入的构造器,此例是 Person
    10. obj.__proto_type = Constructor.prorotype;
    11. var ret = Contructor.apply(obj,arguments);
    12. return typeof ret === 'object'?ret:obj;
    13. }
    14. var a = objectFactory( Person, 'sven' );
    15. console.log( a.name ); // 输出:sven

    ECMAScript 6 带来了新的 Class 语法。这让 JavaScript 看起来像是一门基于类的语言, 但其背后仍是通过原型机制来创建对象。