1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        如何理解JavaScript中的對象?

        共 1419字,需瀏覽 3分鐘

         ·

        2020-08-23 18:28

        來源:SegmentFault 思否社區(qū)

        作者:Jason



        JavaScript中對象的簡介


        我們知道生活中客觀存在的一切事物皆為對象,那在程序中的對象是什么樣子呢?我們可以將程序中的對象理解為客戶端世界中的對象在一種計算機中的一種表示方式.所有的編程語言中提到的對象其性質都是類似的,它往往對應內存中的一塊區(qū)域,在這個區(qū)域中存儲對象的屬性或方法信息。




        JavaScript中對象的創(chuàng)建


        基于{}符號創(chuàng)建對象


        在JS中我們可以直接基于{}定義對象,在對象內容定義屬性和方法,例如:




        在JS中我們可以將對象理解為用于封裝屬性和方法的一個結構體,例如



        如果需要反復創(chuàng)建多個相同結構的對象時,用{}代碼就很冗余——重復。也不便于維護!




        基于構造函數(shù)創(chuàng)建對象


        假如在JS中我們希望非常方便的定義多個結構相同,但屬性值不同的對象,可以直接基于構造函數(shù)( 定義同一類型多個對象的相同屬性結構的特殊函數(shù))進行對象創(chuàng)建,例如:



        建議:只要反復創(chuàng)建多個相同結構的對象,都要用構造函數(shù)來創(chuàng)建對象.


        在實際應用中我們盡量不要在構造函數(shù)中再去定義函數(shù),例如:



        這樣在構建對象時,可能每次都需要開辟額外的函數(shù)空間.





        JavaScript中的對象特性


        封裝特性


        JS中的對象用于封裝屬性和方法.如圖所示:



        繼承特性


        JS中為了實現(xiàn)屬性或方法的可重用性,提供了一種繼承機制,


        這種繼承的方式需要借助Prototype對象去實現(xiàn),Prototype對象是在定義構造函數(shù)時自動創(chuàng)建,用于存儲所有共有屬性和方法的一個對象,所有通過此構造函數(shù)構建的對象都繼承這個原型對象.


        構造函數(shù)中的原型對象分析,如圖所示:



        原型對象(ProtoType)對象的繼承,如圖所示:



        在對象中添加共有屬性,如圖所示:



        在對象中添加共有方法的.如圖所示:



        基于JS原型對象同時添加多個共有方法,如圖所示:



        原型鏈是由多級父對象(原型對象)逐級繼承形成的鏈式結構。這個原型鏈保存著一個對象可以訪問的所有父級原型對象,以及這個對象可訪問到的所有屬性和方法。





        多態(tài)特性


        多態(tài)一般指同一個函數(shù)(行為),在不同情況下表現(xiàn)中的不同的狀態(tài)。從應用上有兩種形式,分別為重載和重寫。


        重載的定義:一個函數(shù),根據(jù)傳入的實參值不同,執(zhí)行不同的邏輯。


        重寫的定義:在子對象中定義一個和父對象中成員同名的成員。只要從父對象繼承來的東西不好用,就用重寫自己的!


        在子對象中定義一個和父對象中成員同名的自有成員,例如:






        JavaScript內置對象類型


        對象類型簡介


        JavaScript中對象的類型可以理解為構造方法和原型對象的結合體,當我們需要查看其對象類型時,可以通過構造方法名.


        JS中內置的對象類型

        JS中有11種內置對象類型,分別為String, Number, Boolean, Array, Date, RegExp, Math(對象), Error, Function, Object, global(對象)


        總結(Summary)

        本小節(jié)主要是對JS中對象做了簡介,并通過實踐方式分析JS中對象的創(chuàng)建,對象特性以及對象內置類型。





        點擊左下角閱讀原文,到?SegmentFault 思否社區(qū)?和文章作者展開更多互動和交流。

        -?END -

        瀏覽 31
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            精品无码三级在线观看视频 | 91黄色小网站 | 国产高清黄色片 | 啪视频网站 | 日韩人妻无码一级毛片欧美 | 国产成人精品www牛牛影视 | 挤公交挺进少妇身体 | 黄色视频爱爱 | 91看片国产 | 黄片直接看 |