function Person(name,age){
this.name=name;
this.age=age;
}
var p=new Person('cj',22);
从上面的代码简单分析一下:
1.我们的函数要使用Person这个构造函数,需要把其当成参数传进去
2.通过我们自定义方式创建出来的对象的__proto__要指向构造函数的prototype对象
3.函数不能固定传参,所以得通过arguments
function Person(name,age){
this.name=name;
this.age=age;
}
function New(f){ //f是个函数,就是构造器函数
return function(){
var o={"__proto__":f.prototype};
f.apply(o,arguments);
return o;
}
}
var p1=New(Person)('xx',77);
console.log(p1.name);
console.log(p1.age);
console.log(p1 instanceof Person);