<script type="text/javascript"> /* 原型鏈 繼承 */ function Animal(name){//parent this.name = name || "未知"; this.say = function(){ console.log(this.name + " says interesting...."); } } Animal.prototype.eat = function(){ console.log(this.name + " can eat..."); } //臨時構造函數 這裏省略下方的 Dog.prototype = new F();能夠替換成Dog.prototype = Object.create(Animal.prototype); function F(){} function Dog(name){//child Animal.apply(this,arguments); } F.prototype = new Animal() Dog.prototype = new F(); Dog.prototype.run = function(){ console.log(this.name + " run...."); } var dog = new Dog("tom"); dog.say(); dog.eat(); dog.run(); </script>
ES6繼承javascript
<script type="text/javascript"> /* ES6 繼承 */ class Parent{ constructor(name){ this.name = name; } say(){ console.log("parent has say method. " + this.name); } } class Child extends Parent{ constructor(name){ super(name); } fly(){ console.log("chid can fly..."); } } var p = new Child("tom"); p.say(); p.fly(); </script>