好程式設計師前端教程面對物件與原型原型鏈

好程式設計師發表於2019-03-22

好程式設計師前端教程面對物件與原型原型鏈
一、物件導向:
物件導向是一種程式開發的方法,它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的靈活性、重用性和擴充套件性。物件是把資料及對資料的操作方法放在一起,作為一個相互依存的整體。再說一下類與物件,類描述了一組有相同特性和相同行為的物件,具有相同屬性和相同方法的物件的抽象就是類。即物件的抽象是類,類的例項是物件。在物件導向的程式設計中,把用類建立物件的過程稱為例項化。
程式導向與物件導向的區別在於程式導向是一種直接的程式設計方法,它是按照程式語言的思路考慮問題。透過順序執行一組語句來實現一個功能,這些語句的執行過程就是整個程式。物件導向是一種抽象度更高的程式設計方法。它的目標是使模組的抽象度更高,目的是可複用。物件導向三大特性:封裝,繼承,多型。
程式導向可以說是從細節方面思考問題。物件導向可以說是從宏觀方面思考問題
物件的建立方式有物件字面量,工廠方式,原型方式,建構函式,混合模式。
原型,原型鏈:
我們建立的每個函式都有一個prototype屬性,這個屬性是一個指標,指向一個物件,這個物件的用途是包含可以由特定型別的所有例項共享的屬性和方法。那麼,prototype就是透過呼叫建構函式而建立的那個物件例項的原型物件。使用原型的好處是可以讓物件例項共享它所包含的屬性和方法。也就是說,不必在建構函式中新增定義物件資訊,而是可以直接將這些資訊新增到原型中。使用建構函式的主要問題就是每個方法都要在每個例項中建立一遍。在JavaScript中,一共有兩種型別的值,原始值和物件值。每個物件都有一個內部屬性 prototype ,我們通常稱之為原型。原型的值可以是一個物件,也可以是null。如果它的值是一個物件,則這個物件也一定有自己的原型。這樣就形成了一條線性的鏈,我們稱之為原型鏈。
簡單的說就是在JavaScript 中,每當定義一個物件(函式)時候,物件中都會包含一些預定義的屬性。其中函式物件的一個屬性就是原型物件 prototype。JS在建立物件(不論是普通物件還是函式物件)的時候,都有一個叫做__proto__的內建屬性,用於指向建立它的函式物件的原型物件prototype,我們把這個有__proto__串起來的直到Object.prototype.__proto__為null的鏈叫做原型鏈。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2639043/,如需轉載,請註明出處,否則將追究法律責任。

相關文章