<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript學習小結(jié)之prototype_javascript技巧

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 21:46:42
        文檔

        javascript學習小結(jié)之prototype_javascript技巧

        javascript學習小結(jié)之prototype_javascript技巧:JS中的prototype是JS中比較難理解的一個部分本文基于下面幾個知識點:1 原型法設(shè)計模式在.Net中可以使用clone()來實現(xiàn)原型法原型法的主要思想是,現(xiàn)在有1個類A,我想要創(chuàng)建一個類B,這個類是以A為原型的,并且能進行擴展。我們稱B的原型為A。2 javascr
        推薦度:
        導讀javascript學習小結(jié)之prototype_javascript技巧:JS中的prototype是JS中比較難理解的一個部分本文基于下面幾個知識點:1 原型法設(shè)計模式在.Net中可以使用clone()來實現(xiàn)原型法原型法的主要思想是,現(xiàn)在有1個類A,我想要創(chuàng)建一個類B,這個類是以A為原型的,并且能進行擴展。我們稱B的原型為A。2 javascr

        JS中的prototype是JS中比較難理解的一個部分

        本文基于下面幾個知識點:

        1 原型法設(shè)計模式
        在.Net中可以使用clone()來實現(xiàn)原型法

        原型法的主要思想是,現(xiàn)在有1個類A,我想要創(chuàng)建一個類B,這個類是以A為原型的,并且能進行擴展。我們稱B的原型為A。

        2 javascript的方法可以分為三類:
        a -> 類方法

        b -> 對象方法

        c -> 原型方法

        例子:

        3. obj1.func.call(obj)方法
        意思是將obj看成obj1,調(diào)用func方法,本來調(diào)用的是obj1的func方法,但是,傳入obj后,改變了上下文對象,就通過obj對象來調(diào)用ojb1的方法了

        好了,下面一個一個問題解決:

        prototype是什么含義?

        javascript中的每個對象都有prototype屬性,Javascript中對象的prototype屬性的解釋是:返回對象類型原型的引用。

        A.prototype = new B();

        理解prototype不應(yīng)把它和繼承混淆。A的prototype為B的一個實例,可以理解A將B中的方法和屬性全部克隆了一遍。A能使用B的方法和屬性。這里強調(diào)的是克隆而不是繼承。可以出現(xiàn)這種情況:A的prototype是B的實例,同時B的prototype也是A的實例。

        先看一個實驗的例子:

        我們首先定義了baseClass類,然后我們要定義extentClass,但是我們打算以baseClass的一個實例為原型,來克隆的extendClass也同時包含showMsg這個對象方法。

        extendClass.prototype = new baseClass()就可以閱讀為:extendClass是以baseClass的一個實例為原型克隆創(chuàng)建的。

        那么就會有一個問題,如果extendClass中本身包含有一個與baseClass的方法同名的方法會怎么樣?

        下面是擴展實驗2:

        實驗證明:函數(shù)運行時會先去本體的函數(shù)中去找,如果找到則運行,找不到則去prototype中尋找函數(shù)。或者可以理解為prototype不會克隆同名函數(shù)。

        那么又會有一個新的問題:

        如果我想使用extendClass的一個實例instance調(diào)用baseClass的對象方法showMsg怎么辦?

        答案是可以使用call:

        這里的baseinstance.showMsg.call(instance);閱讀為“將instance當做baseinstance來調(diào)用,調(diào)用它的對象方法showMsg”

        好了,這里可能有人會問,為什么不用baseClass.showMsg.call(instance);

        這就是對象方法和類方法的區(qū)別,我們想調(diào)用的是baseClass的對象方法

        最后,下面這個代碼如果理解清晰,那么這篇文章說的就已經(jīng)理解了:

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript學習小結(jié)之prototype_javascript技巧

        javascript學習小結(jié)之prototype_javascript技巧:JS中的prototype是JS中比較難理解的一個部分本文基于下面幾個知識點:1 原型法設(shè)計模式在.Net中可以使用clone()來實現(xiàn)原型法原型法的主要思想是,現(xiàn)在有1個類A,我想要創(chuàng)建一個類B,這個類是以A為原型的,并且能進行擴展。我們稱B的原型為A。2 javascr
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产精品亚洲专区在线观看| 国产性生交xxxxx免费| 国产av天堂亚洲国产av天堂| 日本特黄特色AAA大片免费| 四虎永久免费影院在线| 特级aaaaaaaaa毛片免费视频| 国产在线98福利播放视频免费| 亚洲丶国产丶欧美一区二区三区| 免费无码黄网站在线观看| 午夜国产精品免费观看 | 亚洲国产精品综合久久网各| 91制片厂制作传媒免费版樱花| 亚洲视频一区在线播放| 四虎在线视频免费观看视频| 亚洲精品二三区伊人久久| 香蕉高清免费永久在线视频 | 1000部国产成人免费视频| 天堂亚洲国产中文在线| 免费无码又爽又刺激高潮| 国产精品亚洲а∨无码播放麻豆 | 四虎影院免费在线播放| 男女猛烈无遮掩视频免费软件| 国产亚洲成人在线播放va| 久久久精品2019免费观看| 亚洲一区在线视频观看| 四虎影在线永久免费观看| 97国免费在线视频| 亚洲国产日韩在线| 免费国产成人高清在线观看麻豆| 国产黄在线播放免费观看| 精品亚洲麻豆1区2区3区| 午夜免费福利在线| 久久国产精品免费一区二区三区| 亚洲av日韩av天堂影片精品| 美女视频黄a视频全免费| 免费无码国产V片在线观看| 亚洲一区中文字幕久久| 四虎影视永久免费观看| 最近中文字幕完整免费视频ww| 美女视频黄.免费网址| 亚洲欧洲日韩国产综合在线二区|