摘要:犯渾的地方中的原型繼承幾乎是面試必問點,然而真正透徹的理解它還是需要費一番功夫的,等等看到腦子就昏掉了,有時候以為自己掌握了,但是沒過多久看到角度不同的講解時就又犯糊涂了犯渾點中的構造函數,實例與原型之間的關系。
在javascirpt中,每個對象都有一個指向它的原型對象的內部鏈接,這個原型對象又有自己的原型,一級一級鏈接上去,直到某個對象的原型為null,從而實現了繼承。
犯渾的地方javascript中的原型繼承幾乎是面試必問點,然而真正透徹的理解它還是需要費一番功夫的,prototype, __proto__, constructor等等看到腦子就昏掉了,有時候以為自己掌握了,但是沒過多久看到角度不同的講解時就又犯糊涂了TT
犯渾點1:javascript中的構造函數,實例與原型之間的關系。借用這篇文章中的一幅圖:
總結出了以下三點內容:
原型繼承的時候僅僅限于對象之間的繼承;
通過構造函數生成的對象實例,實際上繼承的是構造函數的原型;
構造函數在其中只是充當了構造器的角色,在考慮繼承關系時,可以將其忽略,而只考慮其的prototype;
舉個例子,使用Array構造器函數生成Array實例的時候,實例繼承的是Array函數的prototype對象,Array的prototype對象上聲明了concat,pop,splice等等的方法。
犯渾點2: 另外一個糊涂的點就是__protp__與prototype的關系。__proto__在某些環境下可以得到該對象的原型對象, 但是標準的方法是
通過Object.getPrototypeOf()的方式查詢a的原型對象。
所以,不使用__proto__,使用Object.getPrototypeOf()的方法既標準,又可以避免我們因為__proto__和prototype混淆而頭疼。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79063.html
摘要:為什么要學習設計模式做事情之前問個為什么總是好的。設計模式的使用方法關于使用方式,像我這種初學者最容易犯的錯誤就是生搬硬套,但是模仿本來也是學習的一個過程,最重要的事情是在模仿中要學會思考。 為什么要學習設計模式? 做事情之前問個為什么總是好的。關于設計模式的好壞,我在知乎上也看過一些討論,有知友對其提出過一些疑問,里面有一些關于設計模式的觀點: 設計模式有何不妥,所謂的荼毒體現在哪...
摘要:但是在中,的生命還會繼續。這其中最典型的問題便是批量增加元素。這時,如果構造函數被調用時沒有參數,則會自動設置為。因為從系統的角度來說,當你用字符串的時候,它會被傳進構造函數,并且重新調用另一個函數。 序言 在今天,JavaScript已經成為了網頁編輯的核心。尤其是過去的幾年,互聯網見證了在SPA開發、圖形處理、交互等方面大量JS庫的出現。 如果初次打交道,很多人會覺得js很簡單...
摘要:它指向構造函數的原型對象這是原型對象上的一個指向構造函數的屬性。先看代碼的構造函數創建一個的實例,小豬佩奇敲黑板,劃重點,理解這一句整個問題的關鍵,請多重復幾遍。也就是說小豬佩奇的原型,就是從繼承來的寫成代碼就是這個樣子。 ??沒錯,我就是標題黨!你已經成功被我騙進來了。來都來了,那就聊聊再走唄!接下來就聽我一本正經地跟你說道說道。 ??Javascript的原型是這門語言的一個重點和...
摘要:面向對象中有三大特征,封裝,繼承,多態。這不僅無法做到數據共享,也是極大的資源浪費,那么引入對象實例對象的屬性指向其構造函數,這樣看起來實例對象好像繼承了對象一樣。實例對象的原型指向其構造函數的對象構造器的指向。 前言 為什么說是再談呢,網上講解這個的博客的很多,我開始學習也是看過,敲過就沒了,自以為理解了就結束了,書到用時方恨少啊。實際開發中一用就打磕巴,于是在重新學習了之后分享出來...
摘要:我的第一篇博客之前學習了,但是面向對象部分一直沒有時間去學,擱了很久,估計有大半年了吧。一直支持并不比簡單,他的面向對象也是有很多東西的,沒有人帶,自己學是很容易犯暈的。這個類的每個對象共用一個代碼段。 我的第一篇博客 之前學習了JavaScript,但是面向對象部分一直沒有時間去學,擱了很久,估計有大半年了吧。最近又花了點時間學習了一下,很感謝韓順平老師的視頻,讓我受益匪...
閱讀 3686·2021-11-25 09:43
閱讀 2645·2021-11-25 09:43
閱讀 3844·2021-11-24 09:38
閱讀 697·2021-11-18 10:02
閱讀 2237·2021-09-22 15:53
閱讀 2998·2019-08-30 15:44
閱讀 2774·2019-08-30 14:01
閱讀 2754·2019-08-29 15:15