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

JS函數(shù)進(jìn)階之繼承用法實(shí)例分析

 更新時(shí)間:2020年01月15日 11:08:35   作者:qq_42412646  
這篇文章主要介紹了JS函數(shù)進(jìn)階之繼承用法,結(jié)合實(shí)例形式分析了JavaScript函數(shù)繼承相關(guān)定義與使用操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JS函數(shù)進(jìn)階之繼承用法。分享給大家供大家參考,具體如下:

直接代碼,不解釋:

<html>
    <head>
        <title>js函數(shù)繼承進(jìn)階</title>
        <meta charset="UTF-8"/>
        <script type="text/javascript">
            function person(name,age){  //對(duì)象的創(chuàng)建
                this.name=name;
                this.age=age;
//                this.test=function(a){
//                    console.log("能運(yùn)行嗎");
//                }
            }
            function book(name){
                this.name="是我嗎";
                this.lookat=function(a){
                    console.log("看看能行嗎");
                }
            }
            function czxt(name){
                this.name=name;
            }
            person.prototype.read=function(a){console.log("I can read");};
            book.prototype.sign=function(a){console.log("I am book"); return new book()};    //視其為一個(gè)對(duì)象的一個(gè)屬性進(jìn)行”繼承“
            person.prototype.book=new book();               //直接進(jìn)行“包含”
//            person.prototype=new book();
            czxt.prototype.appear=function(a){console.log("我是操作系統(tǒng)")};
            book.prototype.subject=new czxt();
//            book.prototype=new czxt();
            var p1=new person("張三",37);
//            p1.lookat();    //類內(nèi)部的方法也可以調(diào)用
//            console.log(p1.name);   //包含類和父類都含有,是父類的name屬性值。  "張三"
            console.log(p1.book.name); //用屬性進(jìn)行調(diào)用的話,是包含類的name屬性   ”是我嗎“
//            p1.sign();     //直接調(diào)用包含函數(shù)方法
//            p1.book.sign();   //調(diào)用對(duì)象屬性包含的方法
//            p1.read();     //調(diào)用公共對(duì)象外函數(shù)
//            p1.test();    //函數(shù)調(diào)用函數(shù)內(nèi)部的函數(shù)(視函數(shù)為對(duì)象)
//            p1.address="山東"; //每個(gè)特定對(duì)象主動(dòng)添加對(duì)象屬性
//            console.log(p1.address);
            var b1=new book();
//            b1.appear();   //調(diào)用其繼承體內(nèi)的函數(shù)
//            p1.appear();   //無法調(diào)用包含對(duì)象內(nèi)的包含方法(無法直接調(diào)用孫子函數(shù))
//            p1.book.appear();  //用屬性調(diào)用也不行啊,不是函數(shù)可還行
//            p1.book.subject.appear(); //雙重屬性定義可以,牛逼了。
//            p1.sign().appear();  //person非屬性調(diào)用book,在book的sign方法中添加一個(gè)book類型的返回值以此來調(diào)用book包含的方法。
        </script>
    </head>
    <body>
        <h3>js函數(shù)繼承進(jìn)階</h3>
    </body>
</html>

運(yùn)行結(jié)果:

進(jìn)一步理解,引入prototype,一方面是實(shí)現(xiàn)了同一個(gè)類創(chuàng)建對(duì)象時(shí)創(chuàng)建實(shí)現(xiàn)相同功能的方法,這些方法在對(duì)象創(chuàng)建時(shí)同樣會(huì)占用內(nèi)存,所以我們把方法定義到外面變成公共的方法,節(jié)省了內(nèi)存(注:如果是類內(nèi)部的方法構(gòu)建兩個(gè)對(duì)象時(shí)其內(nèi)部的函數(shù)時(shí)不同的,不相等且不等同)另一方面,降低了代碼的冗余,其中當(dāng)你把一個(gè)類的prototype值設(shè)置為一個(gè)對(duì)象,那么你就擁有了其內(nèi)部的屬性和方法,當(dāng)進(jìn)行包含后可以直接利用帶屬性調(diào)用或者直接調(diào)用,這樣有一個(gè)好處是:我們沒有必要?jiǎng)?chuàng)建這個(gè)對(duì)象就可以直接調(diào)用其內(nèi)部的方法。但是對(duì)于三層的包含關(guān)系,我們不能使用,要想使用就只能用連續(xù)雙重的屬性調(diào)用。對(duì)于內(nèi)部屬性值如果子類和父類的屬性名相同,那么直接調(diào)用就是父類的屬性,利用屬性調(diào)用包含類可以調(diào)用子類的屬性。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

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

相關(guān)文章

  • javascript中的void運(yùn)算符語法及使用介紹

    javascript中的void運(yùn)算符語法及使用介紹

    void是javascript中的一個(gè)操作符,void會(huì)計(jì)算表達(dá)式的值,但是會(huì)丟棄表達(dá)式的返回值接下來將詳細(xì)介紹下,感興趣的你可以參考下或許對(duì)你有所幫助
    2013-03-03
  • javascript時(shí)間函數(shù)基礎(chǔ)介紹

    javascript時(shí)間函數(shù)基礎(chǔ)介紹

    這篇文章主要介紹了javascript中提供了Date對(duì)象來進(jìn)行時(shí)間和日期的計(jì)算,這里簡(jiǎn)單的介紹下, 方便需要的朋友
    2013-03-03
  • thinkjs微信中控之微信鑒權(quán)登陸的實(shí)現(xiàn)代碼

    thinkjs微信中控之微信鑒權(quán)登陸的實(shí)現(xiàn)代碼

    這篇文章主要介紹了thinkjs微信中控之微信鑒權(quán)登陸的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • JavaScript onclick與addEventListener使用的區(qū)別介紹

    JavaScript onclick與addEventListener使用的區(qū)別介紹

    addEventListener()方法用于向指定元素添加事件句柄,使用 removeEventListener()方法來移除,onclick和addEventListener事件區(qū)別是:onclick事件會(huì)被覆蓋,而addEventListener可以先后運(yùn)行不會(huì)被覆蓋,addEventListener可以監(jiān)聽多個(gè)事件
    2022-09-09
  • electron制作仿制qq聊天界面的示例代碼

    electron制作仿制qq聊天界面的示例代碼

    這篇文章主要介紹了electron制作仿制qq聊天界面的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • Javascript單線程和事件循環(huán)

    Javascript單線程和事件循環(huán)

    這篇文章主要介紹了Javascript單線程和事件循環(huán),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • 前端圖片懶加載(lazyload)的實(shí)現(xiàn)方法(提高用戶體驗(yàn))

    前端圖片懶加載(lazyload)的實(shí)現(xiàn)方法(提高用戶體驗(yàn))

    圖片懶加載又稱圖片延時(shí)加載、惰性加載,即在用戶需要使用圖片的時(shí)候加載,這樣可以減少請(qǐng)求,節(jié)省帶寬,提高頁面加載速度,相對(duì)的,也能減少服務(wù)器壓力,下面通過本文給大家分享圖片懶加載lazyload的實(shí)現(xiàn)方法,感興趣的朋友一起看看吧
    2017-08-08
  • JavaScript自定義文本框光標(biāo)

    JavaScript自定義文本框光標(biāo)

    本篇文章主要介紹了JavaScript自定義文本框光標(biāo)的方法實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-03-03
  • JavaScript?error瀏覽器端錯(cuò)誤捕獲處理方法筆記解決示例

    JavaScript?error瀏覽器端錯(cuò)誤捕獲處理方法筆記解決示例

    這篇文章主要為大家介紹了JavaScript?error瀏覽器端錯(cuò)誤捕獲處理方法筆記解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 完全深入學(xué)習(xí)Bootstrap表單

    完全深入學(xué)習(xí)Bootstrap表單

    Bootstrap表單用來與用戶做交流的一個(gè)網(wǎng)頁控件,實(shí)現(xiàn)網(wǎng)頁與用戶更好的溝通,這篇文章主要就為大家介紹了Bootstrap表單中常見的元素,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11

最新評(píng)論

获嘉县| 闽侯县| 襄樊市| 霍城县| 苍溪县| 宁国市| 通榆县| 巨鹿县| 商丘市| 赤壁市| 郁南县| 和田县| 远安县| 醴陵市| 仁化县| 苍梧县| 宁明县| 景洪市| 韩城市| 金阳县| 巩义市| 虞城县| 吴江市| 平度市| 高要市| 韶山市| 连江县| 北宁市| 西乡县| 沙坪坝区| 韶山市| 广饶县| 五大连池市| 陕西省| 遵义市| 灌云县| 佛坪县| 泌阳县| 加查县| 瑞金市| 晋州市|