js_组合继承(最常用的继承方式)
生活随笔
收集整理的這篇文章主要介紹了
js_组合继承(最常用的继承方式)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<script type="text/javascript">//組合繼承: 將原型鏈和借用構造函數的技術組合在一起//使用原型鏈實現對原型方法的繼承//使用構造函數實現對實例屬性的繼承//js中最常用的繼承方式//super:超類function SuperType(name) {//超類屬性//使用構造函數實現對實例屬性的繼承this.name = name;this.colors = ['red','blue','green'];}SuperType.prototype.sayName = function() {//超類方法//使用原型創建函數,以實現函數的復用console.log(this.name)}//sub:子類function SubType(name,age) {//繼承屬性//使用call()方法 每次創建之類實例的時候,超類的屬性會存一份副本到子類實例中//所有子類實例在修改繼承的超類屬性時,無法影響其他實例SuperType.call(this,name);this.age = age;}//繼承方法SubType.prototype = new SuperType();//使用原型對超類方法的繼承SubType.prototype.constructor = SubType;//創建子類的方法SubType.prototype.sayAge = function() {console.log(this.age)}//instance:實例const instance1 = new SubType('Nicholas', 29);instance1.colors.push('black');console.log(instance1.colors);instance1.sayName();instance1.sayAge();const instance2 = new SubType('Greg', 27);console.log(instance2.colors);instance2.sayName();instance2.sayAge();//使用instanceof和isPrototypeOf()識別基于組合繼承創建的對象console.log(instance1 instanceof SubType);//trueconsole.log(instance1 instanceof SuperType);//true</script>
總結
以上是生活随笔為你收集整理的js_组合继承(最常用的继承方式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java EE启示录
- 下一篇: Cactiz中文版安装使用