原型鏈就是個鍊表,有啥好研究的,隔三差五來一下,走馬燈麼?

2020-12-26 酷扯兒

本文轉載自【微信公眾號:前端人,ID:FrontendPeople】經微信公眾號授權轉載,如需轉載與原文作者聯繫

自從重新拿起筆混跡掘金, 我幾乎每天都會打開掘金, 有時候也真的是審美疲勞, 雖然我大部分時間都是在看標題, 但是每隔幾天都有一個差不多的標題在你眼前飄過, 時間久了也有點麻木

昨天在天天拉的群裡, 看一幫小朋友討論

this

的問題, 有種回到了七八年前剛學前端的時候, 我在前幾篇文章中關於數據結構和算法對前端到底有沒有用, 穿插著做過一些評論, 現在我只想說, 如果你真的好好去看看, 學習下數據結構, 根本不至於對

, 對原型或者原型鏈有這麼多種不同的理解.

正文

掘金最近

bug

很多, 優弧很煩惱,

mind

想離職, 至於我的文章點讚和評論數莫名消失就不提了, 畢竟我是個佛系作者 讓我們回到本次吐槽的主題, 我想說的是, 如果你對

JavaScript

的原型系統有細節上的困惑或者愛好, 去看規範就好了, 那玩意你能看懂, 研究明白基本上已經是

語言規範專家了, 如果你看不懂, 研究不明白, 看別人的文章也沒用, 看多了還容易把自己搞混.

如果你想理解原型系統是個啥, 那就去看看數據結構中的鍊表, 回顧下大學課程, 對於那些不是科班出身的同學, 我想說的是網易雲課堂有免費的, 可以白嫖, 搜文章看對你沒有多大幫助, 缺少這些計算機基本的知識, 你的職業生涯不僅沒有上限而且短命. 如果有時間到處去搜別人整理好的東西, 別人的理解, 不如回去好好看看什麼是鍊表 先理解鍊表, 再理解原型鏈, 你就不會衝動寫文章了, 因為沒什麼可寫的.

鍊表是啥, 就是個首尾相連的線性的數據結構, 鍊表的好處就是可以很方便的按順序執行一些邏輯, 在

LeetCode

上通常用 JavaScript 寫個鍊表大概是這樣

head {

next: second{

next: null

}

}

然後原型鏈是什麼, 原型鏈就是個很複雜的鍊表, 但基本的結構是一樣的, 如果你把鍊表中的節點看成是原型, 那 this 其實就是鍊表當前指向的那個原型.

就這麼簡單, 沒了, 至於

bind call apply

無非是附加的

api

用來指向或者綁定不同的原型, 所謂綁定也不過是存下一個變量指向鍊表上的某個節點.

如果你不理解鍊表, 原型, 原型鏈, 構造函數,

, 箭頭函數,

這些概念對你來說都是散裝的, 我在之前的文章中提到過, 沒有核心的數據結構的知識作為主幹, 你看更多的文章, 學更多的這些概念的理解也沒有任何用處, 而且說實話就是 JavaScript 作者自己都不一定記得這些概念所涉及的細節, 這些細節就隱藏在 ECMA 的規範裡, 如果你真的想成為一個有生命力的, 能幹的久一點的前端程式設計師, 我建議你的學習順序應該是

數據結構

ECMA 規範 MDN 輔助

→ 看看別人文章的理解對照自己的理解, 有精力你就噴他, 沒精力就自己好好繼續去思考

後話

掘金上大量的概念性文章的獲得大量的點讚, 在我看來就是沒有掌握正確的學習方法導致, 前端開發社區不成熟的表現, 七八年過去了

一個社區的初學者或者新手們還是在討論相同的東西, 這真的是一種悲哀. 這也說明另一個問題, 上一代的前端程式設計師要麼就是沒有真正成熟起來, 要麼就是都走到另一條路上去了(都去搞業務了), 導致整個社區一直在不斷重複的傳承相同的概念, 相同的知識. 沒有任何進步.

相關焦點

  • 從尾到頭列印鍊表(劍指 Offer 題解Java版)
    使用遞歸要逆序列印鍊表 1->2->3(3,2,1),可以先逆序列印鍊表 2->3(3,2),最後再列印第一個節點 1。而鍊表 2->3 可以看成一個新的鍊表,要逆序列印該鍊表可以繼續使用求解函數,也就是在求解函數中調用自己,這就是遞歸函數。
  • 幻燈片的濫觴走馬燈(古代的動畫片)
    正月十五元宵節,有掛花燈的習俗,這走馬燈就是其中的一種。走馬燈一般都是宮燈的形狀,裡面粘貼著一輪帶有圖案的剪紙。點燃裡面的燈燭之後,熱氣會推動紙輪轉起來,燈罩上會出現人馬追逐、物換景移的影像,看上去就像是現在的動畫片一樣。最晚在宋代的時候就出現了走馬燈,當時稱為「馬騎燈」。
  • 鬼滅之刃:200話是個轉折點,暫時不會完結,鬼舞辻走馬燈還沒來
    200話是個轉折點,就怕鱷魚老師一招反轉,存活的柱和小強們再次陷入生死危機。不管鬼舞辻處境如何,漫畫暫時不會完結。像鬼滅這種罕見的黑馬,必然受到Jump的重視,全球銷量在那擺著。當鬼滅要完結時,對Jump來說是一件大事,肯定會提前做好宣傳,上熱搜榜也是必然的。就好比炭治郎當時「死掉」時,也曾出現在熱搜上,鬼舞辻這次亦是如此。
  • 解釋一下這帶子是幹啥的麼?
    ————————————————————這三個人的名字連起來,好像有點針對蒙犽~耀,鏡,萌芽,(要禁萌芽)~————————————————————————解釋一下這帶子是幹啥的麼
  • 走馬燈神了 唐僧師徒「活」了
    □文/本報記者 馮月靜 圖/本報記者 郄磊  用600根高粱稈紮成一盞走馬燈  這個走馬燈,是80歲的張金成老人18年前歷時2個多月,用600多根高粱稈純手工製作而成的。如今它被老人的孫子小張掛在了自家的客廳裡。當年老人忙活一年做了4個,分別送給了4個孫子。
  • 補腦「冠軍」就是它,隔三差五吃,頭腦靈活,記憶力好!
    補腦「冠軍」就是它,隔三差五吃,頭腦靈活,記憶力好!要說補腦效果好的,毋庸置疑,就是核桃啦,核桃仁含有較多的蛋白質及人體營養必需的不飽和脂肪酸,這些成分皆為大腦組織細胞代謝的重要物質,能滋養腦細胞,增強腦功能。核桃大家一般都是直接吃或者做成核桃露喝,今天小編分享一個新做法給大家。
  • 瀕死之人為何會出現「走馬燈」現象,是進入另一個宇宙嗎?
    不過大部分人都不認為,在人死後真的會出現「走馬燈」現象。但是事實上,這種「走馬燈」現象並不是人為杜撰,而是一種會真實出現的情況。 我們先來了解一下走馬燈現象。 最早提出有「走馬燈」現象的人,是一位叫做威爾森的醫生。
  • 18.1在 O(1) 時間內刪除鍊表節點(劍指 Offer 題解Java版)
    解題思路①如果該節點不是尾節點,那麼可以直接將下一個節點的值賦給該節點,然後令該節點指向下下個節點,再刪除下一個節點,時間複雜度為O(1)。②否則,就需要先遍歷鍊表,找到節點的前一個節點,然後讓前一個節點指向null,時間複雜度為O(N)。
  • 鬼滅之刃:為何無慘之死沒有走馬燈連遺言都沒一句,他真的死了?
    上弦之貳:童磨也許算是走馬燈最不夠豐富的前三的鬼了。不過沒辦法,他的經歷確實不多,而且天生確實情感的他,也沒啥好說的!上弦之壹:黑死牟是第一個十二鬼月,也是最強的上弦鬼,他可以說是強行寫死的典型了。她的存在一直是故事相當重要的地方,但是最後的決戰她感覺就是一個非常詭異的存在。就目前來看,完全是多此一舉的存在,就算是說她來送別炭治郎最後一程。但是她來的時候,炭治郎已經沒氣了,也是毫無價值啊!而且她是唯一一個有鬼變回人的人,她體內的血可謂是全故事最重要的東西了。難道就這麼完了!
  • 民間淘貨郎:可怕的八仙走馬燈
    每到元宵夜,我都會來燈市逛逛,以前沒離婚的時候帶著老婆,現在有點形單影隻,在歡樂的人潮中顯得有點格格不入,因為很少有人獨自來觀燈。幸好這時候,我的手機響了,是陶然打來的。她要接我去參加一個聚會,就是前一陣子打過一次交道的方老闆。我本想婉言謝絕了,可是陶然已經開著車來接我了。沒辦法,盛情難卻,我只好坐上她的車,奔向西城郊區。
  • 四面阿里定級P7,復盤一下面試過程,居然如此簡單!
    第四步: 你是想做業務還是研究?主要是想考察你對技術是否有深入的研究興趣,建議回答喜歡研究,畢竟招聘的是技術崗位。阿里技術二面:1 介紹你做的項目和其中的難點?阿里技術三面:三面不是面試,而是筆試,耗時三個小時,考的是Java核心的基礎。
  • 哈希表的原理,真的很難弄懂麼?
    前天學習了Collection集合,其繼承體系圖如下:今天就來了解Collection的子接口List,Set,以及它們各自的實現類。一、List接口List,翻譯就是列表的意思,列表有何特點?ArrayList是List的實現類,看名字就能看出來,其中Array就是數組的意思,顯而易見,ArrayList的底層就是數組。數組查詢快,故ArrayList常用來查詢數據。那麼問題來了,數組長度不可變,ArrayList怎麼又可變了呢?
  • 瀕死者為何會看見走馬燈?這其實是大腦給主人注射的「麻醉劑」
    筆者-小文大約在公元1000年前,我國的古人就創造出了走馬燈這種戲劇用具,在許多古籍中都有過走馬燈的記載。而最原始的走馬燈構造則是,人們點燃蠟燭後,將葉輪放置在蠟燭的上方,利用熱氣上升帶動葉輪旋轉,而旋轉起來的葉輪也將一張張靜止的圖片連接在了一起,仿佛在自動播放畫面一般。在古代,走馬燈的存在意義很單純,人們用它來表演戲劇,帶給觀眾快樂,走馬燈同時也是一種民間藝術,但在現代,人們卻對走馬燈有了不一樣的看法。
  • 瀕死者能看見走馬燈?其實是大腦在拯救主人的最後一搏
    為什麼人類在瀕臨死亡的時候為什麼能夠看到走馬燈?科學家通過研究表明,或許人類的大腦在意識是在試圖挽救你,每個人最終都會走到生命的終點。因為我們是沒有預知未來的能力的,所以說我們不知道離開這個世界會去哪裡,還會什麼時候離開,這樣等等一些問題,或者是說會不會有來生?因此無論是活著的人,還是離開的人都是非常害怕死亡的。但是對於有一些人來說,他們並不是非常珍惜自己的生命,他們死亡不是因為疾病或者意外的到來而離開的,而是因為他們承受不了打擊,選擇了死亡的道路。
  • 它是「刮油王」,減肥不要錯過,隔三差五吃,身輕氣色好
    它是&34;,想減肥一定不要錯過,隔三差五吃身輕氣色好減肥一直是女性朋友永遠炙熱的話題,暴飲暴食,作息不規律都會造成肥胖,隨著社會的發展,後者造成的肥胖越來越多,年輕人工作壓力很大,通常是有一頓沒一頓的,還經常熬夜,自己為了節省時間,就會點外賣來解決吃飯問題,這樣做不僅影響到健康,而且還會造成肥胖
  • 《走馬燈株式會社》——一個諷刺的婚姻
    01他叫有樹影片的男主人叫有樹,他外表英俊,家裡有個懷孕8個月的妻子,外面還有個天天纏著他的小美,影片中吃完飯的小美和有樹去了賓館,事後小美突然問他什麼時候和妻子離婚,這可把有樹驚到了,他根本就是抱著玩玩的心態,小美說如果不離婚的話,她不確定會做出什麼事來,還說他覺得兩人是命中注定,並撩了把頭髮,這一幕讓有樹難受,像蒼蠅爬到身體裡一樣難受,回到家後,小美給有樹發了他們兩人親密照片,有樹頓時心虛,面對妻子的詢問,他說是個煩人的上司。
  • 孩子腿疼就是缺鈣,是「在長個」嗎?你該了解一下啥是「生長痛」
    2)誤區二:生長痛一看就是缺鈣嘛,補鈣補鈣! 還有的寶媽覺得孩子生長痛就是缺鈣,可別鬧了,生長痛真和缺鈣無關,可別動不動就是缺鈣了,這個鍋「鈣」可不背。 如果真因為生長痛去給孩子盲目的補鈣,非但不會減緩疼痛,還會有影響孩子的生長發育。只要孩子不是嚴重的挑食或者缺鈣,根本就不需要額外補鈣。
  • 好奇心:懂王會拒交核密碼箱麼?美軍在裡面裝了啥,一按就發射麼
    【話說軍世】對於最近發生在美國的「靚麗風景線」,我們也是「誠意滿滿」的坐吃瓜群眾,不過最近有一種說法,就是質疑懂王是不是會拒絕交核密碼箱,畢竟這個「小黑」也象徵著他的權力,美國內部更是擔心懂王一旦「哪根筋」不對,會亂發射核武器,那麼問題來了,美軍在這個「小黑包」裡面都裝了啥,真的是一按就發射麼
  • 雪球有啥好,有啥不好?
    「今日話題」不用說了,什麼投資熱點、草根的經驗之談、行業企業的分析、投資大家的預測言論等等,可以說無所不包,而且更要命的是特別鮮活(就如同大蝦剛剛從海水裡撈出來立馬下鍋一樣),這當然是我們球友的必看。在「新聞」一項裡,最有用的是其「搜索」功能,我們關注個股的所有新聞資訊啥的,差不多可以一網打盡,盡收眼底,省卻了我們各個網站、網頁奔波的勞頓之苦。
  • 人死前出現「走馬燈」現象?科學家:這是大腦意識做最後的挽救
    我們總說生死有命富貴在天,每個人的生命就只有一次,對於死亡,我們是懼怕並且手足無措,可這就是人生必經的過程,同時我們也無法預料死亡之後的意義,因為我們無法把自己的意志轉達給別人,只有在我們處於生死邊緣的時刻,才可以真正把自己一生中最重要的東西闡述出來,雖然人有悲歡離合,月有陰晴圓缺