function Person(name) {
this.name = name
}
Person.prototype.getName = function(){
return this.name;
}
var objectFactory = function(){
var obj = new Object(); // 从 Object.prototype 上克隆一个空的对象
var Constructor = [].shift.call(argments); // 取得外部传入的构造器,此例是 Person
obj.__proto_type = Constructor.prorotype;
var ret = Contructor.apply(obj,arguments);
return typeof ret === 'object'?ret:obj;
}
var a = objectFactory( Person, 'sven' );
console.log( a.name ); // 输出:sven
ECMAScript 6 带来了新的 Class 语法。这让 JavaScript 看起来像是一门基于类的语言, 但其背后仍是通过原型机制来创建对象。