溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

前端開發(fā)中面對對象與原型原型鏈是什么意思

發(fā)布時間:2021-12-22 13:59:28 來源:億速云 閱讀:137 作者:小新 欄目:移動開發(fā)

這篇文章主要為大家展示了“前端開發(fā)中面對對象與原型原型鏈是什么意思”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“前端開發(fā)中面對對象與原型原型鏈是什么意思”這篇文章吧。


一、面向?qū)ο螅?br/>面向?qū)ο笫且环N程序開發(fā)的方法,它將對象作為程序的基本單元,將程序和數(shù)據(jù)封裝其中,以提高軟件的靈活性、重用性和擴展性。對象是把數(shù)據(jù)及對數(shù)據(jù)的操作方法放在一起,作為一個相互依存的整體。再說一下類與對象,類描述了一組有相同特性和相同行為的對象,具有相同屬性和相同方法的對象的抽象就是類。即對象的抽象是類,類的實例是對象。在面向?qū)ο蟮木幊讨?,把用類?chuàng)建對象的過程稱為實例化。
面向過程與面向?qū)ο蟮膮^(qū)別在于面向過程是一種直接的編程方法,它是按照編程語言的思路考慮問題。通過順序執(zhí)行一組語句來實現(xiàn)一個功能,這些語句的執(zhí)行過程就是整個程序。面向?qū)ο笫且环N抽象度更高的編程方法。它的目標是使模塊的抽象度更高,目的是可復用。面向?qū)ο笕筇匦裕悍庋b,繼承,多態(tài)。
面向過程可以說是從細節(jié)方面思考問題。面向?qū)ο罂梢哉f是從宏觀方面思考問題
對象的創(chuàng)建方式有對象字面量,工廠方式,原型方式,構(gòu)造函數(shù),混合模式。
原型,原型鏈:
我們創(chuàng)建的每個函數(shù)都有一個prototype屬性,這個屬性是一個指針,指向一個對象,這個對象的用途是包含可以由特定類型的所有實例共享的屬性和方法。那么,prototype就是通過調(diào)用構(gòu)造函數(shù)而創(chuàng)建的那個對象實例的原型對象。使用原型的好處是可以讓對象實例共享它所包含的屬性和方法。也就是說,不必在構(gòu)造函數(shù)中添加定義對象信息,而是可以直接將這些信息添加到原型中。使用構(gòu)造函數(shù)的主要問題就是每個方法都要在每個實例中創(chuàng)建一遍。在JavaScript中,一共有兩種類型的值,原始值和對象值。每個對象都有一個內(nèi)部屬性 prototype ,我們通常稱之為原型。原型的值可以是一個對象,也可以是null。如果它的值是一個對象,則這個對象也一定有自己的原型。這樣就形成了一條線性的鏈,我們稱之為原型鏈。
簡單的說就是在JavaScript 中,每當定義一個對象(函數(shù))時候,對象中都會包含一些預定義的屬性。其中函數(shù)對象的一個屬性就是原型對象 prototype。JS在創(chuàng)建對象(不論是普通對象還是函數(shù)對象)的時候,都有一個叫做__proto__的內(nèi)置屬性,用于指向創(chuàng)建它的函數(shù)對象的原型對象prototype,我們把這個有__proto__串起來的直到Object.prototype.__proto__為null的鏈叫做原型鏈。

以上是“前端開發(fā)中面對對象與原型原型鏈是什么意思”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI