最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js封裝可使用的構(gòu)造函數(shù)繼承用法分析

 更新時(shí)間:2015年01月28日 11:43:19   投稿:shichen2014  
這篇文章主要介紹了js封裝可使用的構(gòu)造函數(shù)繼承用法,實(shí)例分析了使用屬性拷貝來(lái)實(shí)現(xiàn)拷貝繼承的技巧,需要的朋友可以參考下

本文實(shí)例講述了js封裝可使用的構(gòu)造函數(shù)繼承用法。分享給大家供大家參考。具體如下:

先來(lái)看下面這段代碼

(YUI)庫(kù)所用的方法:

復(fù)制代碼 代碼如下:
function extend(Child, Parent) {

    var F = function(){};
    F.prototype = Parent.prototype;
    Child.prototype = new F();
    Child.prototype.constructor = Child;
    Child.uber = Parent.prototype;
}

另外還有一種拷貝繼承方法,屬性拷貝:

這種方法與之前的不同,由于已經(jīng)完成對(duì)child的原型進(jìn)行擴(kuò)展,不需要再重置child.prototype.constructor屬性了,因?yàn)樗粫?huì)再被覆蓋。

與之前的方法相比,這個(gè)方法在效率上顯然略孫一籌。因?yàn)檫@里執(zhí)行的是對(duì)子對(duì)象原型的逐一拷貝。而非簡(jiǎn)單的原型鏈查詢。

這種方式僅適用只包含基本數(shù)據(jù)類(lèi)型的對(duì)象,所有的對(duì)象類(lèi)型包括函數(shù)和數(shù)組,都是不可復(fù)制的,他們只支持引用傳遞。

復(fù)制代碼 代碼如下:
function extend2(Child, Parent) {
    var p = Parent.prototype;
    var c = Child.prototype;
    for (var i in p) {
      c[i] = p[i];
      }
    c.uber = p;
}

var Shape = function(){}
var TwoDShape = function(){}
Shape.prototype.name = 'shape';
Shape.prototype.toString = function(){
 return this.name;
}
extend2(TwoDShape,Shape);
var t = new TwoDShape();
t.name
//-->"shape"
t.toString();
//-->"shape"
TwoDShape.prototype.name = 'TwoDShape';
t.name
//-->"2d shape"
t.toString();
//-->"2d shape"

TwoDShape.prototype.toString === Shape.prototype.toString
//-->true
TwoDShape.prototype.name === Shape.prototype.name
//-->false

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • JavaScript之移動(dòng)端H5生成圖片解決方案講解

    JavaScript之移動(dòng)端H5生成圖片解決方案講解

    這篇文章主要介紹了JavaScript之移動(dòng)端H5生成圖片解決方案講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • EXT中單擊button按鈕grid添加一行(光標(biāo)位置可設(shè)置)的實(shí)例代碼

    EXT中單擊button按鈕grid添加一行(光標(biāo)位置可設(shè)置)的實(shí)例代碼

    這篇文章主要介紹了EXT中單擊button按鈕grid添加一行(光標(biāo)位置可設(shè)置)的實(shí)例代碼 的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • 使用JavaScript實(shí)現(xiàn)一個(gè)物理模擬

    使用JavaScript實(shí)現(xiàn)一個(gè)物理模擬

    最近掌門(mén)人在寫(xiě)3D游戲,對(duì)于其中的物理效果很感興趣,今天我將使用純JavaScript來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)易的物理模擬,其中包括碰撞檢測(cè)與響應(yīng)、摩擦力與空氣阻力、以及物體的破壞效果,文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 深入理解JSON數(shù)據(jù)源格式

    深入理解JSON數(shù)據(jù)源格式

    JSON 在很多場(chǎng)合下作為數(shù)據(jù)格式比XML要更加方便。JSON的數(shù)據(jù)由對(duì)象、數(shù)組和元素等格式組成。每種格式都可以包含合法的JavaScript數(shù)據(jù)類(lèi)型
    2014-01-01
  • Element Plus UI 組件庫(kù)中 mt-x 類(lèi)詳解

    Element Plus UI 組件庫(kù)中 mt-x 類(lèi)詳解

    在ElementPlusUI組件庫(kù)中,mt-x類(lèi)用于設(shè)置元素的外邊距,其中"mt"代表"margin-top",x表示外邊距的大小,這種類(lèi)名的使用可以快速調(diào)整元素的頂部外邊距,簡(jiǎn)化樣式管理,確保設(shè)計(jì)的一致性,本文給大家介紹Element Plus UI 組件庫(kù)中 mt-x 類(lèi)基本知識(shí),感興趣的朋友一起看看吧
    2024-11-11
  • 微信開(kāi)發(fā) 使用picker封裝省市區(qū)三級(jí)聯(lián)動(dòng)模板

    微信開(kāi)發(fā) 使用picker封裝省市區(qū)三級(jí)聯(lián)動(dòng)模板

    這篇文章主要學(xué)習(xí)微信開(kāi)發(fā),如何使用picker封裝省市區(qū)三級(jí)聯(lián)動(dòng)模板,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • bootstrap實(shí)現(xiàn)輪播圖效果

    bootstrap實(shí)現(xiàn)輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了bootstrap實(shí)現(xiàn)輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • JS觸摸事件、手勢(shì)事件詳解

    JS觸摸事件、手勢(shì)事件詳解

    本篇文章主要介紹了JS觸摸事件、手勢(shì)事件詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • 可拖拽組件slider.js使用方法詳解

    可拖拽組件slider.js使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了可拖拽組件slider.js的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 基于javascript實(shí)現(xiàn)窗口抖動(dòng)效果

    基于javascript實(shí)現(xiàn)窗口抖動(dòng)效果

    這篇文章主要介紹了基于javascript實(shí)現(xiàn)窗口抖動(dòng)效果,需要的朋友可以參考下
    2016-01-01

最新評(píng)論

休宁县| 大英县| 芒康县| 镇雄县| 云霄县| 外汇| 正宁县| 柳州市| 调兵山市| 田东县| 长海县| 阳江市| 陇川县| 平罗县| 克山县| 望奎县| 吉林省| 辽宁省| 壶关县| 河北省| 五峰| 土默特左旗| 屯留县| 乐清市| 紫云| 贵溪市| 吴川市| 万载县| 苍溪县| 孝义市| 梁河县| 和龙市| 万源市| 衡南县| 泗阳县| 大足县| 泰来县| 阿尔山市| 金沙县| 手游| 高州市|