原型式继承函数
前边继承虽然我们也 var p=new Person() Student.prototype=p 但是这种方式会在new Person()的时候执行Person,会有很多弊端
这里我们采用使用原型式继承函数,来创建类似于之前的p,但是有点是,不用多次去调用函数,直接举例子
1 var obj = { 2 name: 'tyy', 3 age: 18 4 } 5 // 我们想要构造对象newobj,让该想要继承对象的原型指向newobj,而newobj的原型指向obj 6 //方法一 7 function object(obj) { 8 var newobj = {} 9 Object.setPrototypeOf(newobj, obj) //Object里面的一个方法,设置newobj的原型指向obj 10 return newobj 11 } 12 //方法二 通过一个函数原型当中转 13 function createobject(o) { 14 function Fn() {} 15 Fn.prototype = o 16 return new Fn() 17 } 18 //方法三,直接使用Object.create()方法 19 var stu3 = Object.create(obj) 20 21 var stu1 = object(obj) 22 var stu2 = createobject(obj) 23 console.log(stu1.name); 24 console.log(stu2.name); 25 console.log(stu3.name);


浙公网安备 33010602011771号