1. 程式人生 > 其它 >原型式繼承函式

原型式繼承函式

前邊繼承雖然我們也 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);