天天看點

javascript面向對象程式設計

       在學習js面向對象程式設計之前,首先需要知道什麼是面向對象。面向對象語言都有類的概念,通過它可以建立具有相同屬性和方法的對象。但js并沒有類的概念,是以js中的對象和其他語言的對象有所不同。

       js對象可以定義為:”無需屬性的集合,其屬性可以是基本值、對象和函數。每個對象都是基于一個引用類型建立的。

       js建立對象有以下兩種方法:

   這裡暫停一下,因為構造函數模式比較重要,這裡解釋一下:這裡實際上是經曆了以下4個步驟:

    (1)建立一個對象;

     (2)将構造函數作用域賦給這個對象(是以this将指向這個新建立的對象)

    (3)執行裡面的代碼,為新對象添加屬性;

    (4)傳回新對象;

     上面建立的p1和p2都有一個constructor的屬性,它指向person。并且p1和p2即使person的執行個體,同時也是object的執行個體,因為所有對象都繼承自object。

     缺陷:每個方法都要在執行個體上重新建立一遍,js中的函數是對象,是以可以将函數轉移到構造函數的外部:

     我們建立的函數都有一個prototype屬性,它是一個指向一個對象的指針。

     6.抽象函數:

繼續閱讀