function Shape(x){ this.x = x; } Shape.prototype.show = function(){ console.log("Father X:",this.x || "")}; function Rectangle(x){ Shape.call(this,x); // 相似面嚮對象語言的super()方法,可傳多個參數 } Rectangle.prototype = Object.create(Shape.prototype); // 做用相似於面向對象的extends關鍵字 Rectangle.prototype.show = function(){ console.log("Son X:",this.x || "")};// 複寫父類方法 new Rectangle(12).show();
網上關於es5類繼承的資料,原理卻是洋洋灑灑的一大堆,還給了各類繼承寫法,但demo跑起來多數有點問題。javascript
綜合各篇文章和官方資料,如今這個寫法應該足夠簡單(重要的只有那三行註釋代碼),也提到了如何傳參和複寫,放到chrome控制檯裏就能跑起來。java
參考:chrome
Object.create()this