Javascript繼承4:潔凈的繼承者----原型式繼承
阿新 • • 發佈:2018-10-02
pan 函數 原型繼承 itob () pro push prototype script
//原型式繼承 function inheritObj(obj){ //聲明一個過渡函數對象 function F(){} //過渡對象的原型繼承父對象 F.prototype = obj; //返回過渡對象的一個實例,該實例的原型繼承了父對象 return new F(); } /* * 這種方式是對類式繼承的一個封裝,所以類式繼承中存在的缺點這裏依然存在 */ var car = { id:1, color:[‘red‘] } var car1 = inheritObj(car); car1.id = 2; car1.color.push(‘blue‘); var car2 = inheritObj(car); car2.id = 3; car2.color.push(‘yellow‘); console.log(car1.id) // 2 console.log(car1.color) // [‘red‘,‘blue‘] console.log(car2.id) // 3 console.log(car2.color) // [‘red‘,‘blue‘,‘yellow‘] console.log(car.id) // 1 console.log(car.color) //[‘red‘,‘blue‘,‘yellow‘]
設計模式中的經典筆錄
Javascript繼承4:潔凈的繼承者----原型式繼承