国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS繼承用法實例分析

2019-11-20 13:12:55
字體:
來源:轉載
供稿:網友

本文實例分析了JS繼承的用法。分享給大家供大家參考。具體分析如下:

繼承 : 子類不影響父類,子類可以繼承父類的一些功能 ( 代碼復用 )

屬性的繼承 : 調用父類的構造函數 call

方法的繼承 : for in :  拷貝繼承 (jquery也是采用拷貝繼承extend)

1. 拷貝繼承

function Person (name){ this.name = name;}Person.prototype.showName =function (){ alert(this.name);}function Worker(name,job){ Person.call(this,name); this.job = job;}extend(Worker.prototype, Person.prototype);//如果用Worker.prototype=Person.prototype的話,會造成引用相同的問題function extend(obj1,obj2){ for(var i in obj2){   obj1[i] = obj2[i] }}var coder = new Worker('magicfly','frontEnd');coder.showName();

2. 類繼承

function Person (name){ this.name = name;}Person.prototype.showName =function (){ alert(this.name);}function Worker(name,job){ Person.call(this,name); this.job = job;}//Worker.prototype = new Person();// 這樣繼承會繼承父級的不必要屬性 function F(){};F.prototype = Person.prototype;Worker.prototype = new F();//通過建立一個臨時構造函數來解決 ,也稱為代理函數var coder = new Worker('MAGICFLY','START');coder.showName();

3. 原型繼承

var a = {  name : '小明'};var b = cloneObj(a);b.name = '小強';//alert( b.name );alert( a.name );function cloneObj(obj){  var F = function(){};  F.prototype = obj;  return new F();}

適用情況

拷貝繼承:  通用型的  有new或無new的時候都可以
類式繼承:  new構造函數
原型繼承:  無new的對象

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汕头市| 临颍县| 安顺市| 新津县| 黄山市| 禹州市| 建昌县| 尖扎县| 渑池县| 邓州市| 武夷山市| 玉屏| 东城区| 平湖市| 乐东| 延安市| 拜城县| 三原县| 正阳县| 繁峙县| 合山市| 香港| 溧水县| 屏东县| 驻马店市| 玛纳斯县| 靖宇县| 尉氏县| 郧西县| 新乡市| 西平县| 弋阳县| 锡林郭勒盟| 越西县| 泸水县| 祁门县| 博客| 盐池县| 房山区| 西乡县| 琼中|