国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正蓝旗| 交城县| 滁州市| 合阳县| 福建省| 永平县| 平和县| 嘉善县| 安庆市| 济阳县| 固原市| 拉萨市| 开江县| 临武县| 张家界市| 泰来县| 嵊泗县| 福海县| 常德市| 石景山区| 永丰县| 缙云县| 四子王旗| 原阳县| 肃北| 大同市| 利津县| 唐海县| 区。| 泸州市| 洛宁县| 浑源县| 枣庄市| 镇宁| 仁布县| 繁峙县| 罗山县| 巫山县| 西充县| 遂溪县| 绍兴县|