成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

不僅僅是面試,JavaScript 開(kāi)發(fā)者都應(yīng)該知道的十個(gè)概念

瀏覽:138日期:2023-11-12 13:43:05

不僅僅是面試,JavaScript 開(kāi)發(fā)者都應(yīng)該知道的十個(gè)概念

自學(xué)

現(xiàn)在學(xué)習(xí) JavaScript 和 Web 開(kāi)發(fā)的人很多,他們都希望能憑此獲得一份工作。然而,自學(xué)常常會(huì)使學(xué)習(xí)者對(duì) JavaScript 語(yǔ)言本身的理解存在知識(shí)盲點(diǎn)。

實(shí)際上,令人感到驚訝的是,他們只需要掌握很少的語(yǔ)言知識(shí)就能制作復(fù)雜的網(wǎng)頁(yè),然而這樣通常不能很好掌握 JavaScript 的基礎(chǔ)知識(shí)。

使用基本的技能來(lái)實(shí)現(xiàn)功能和避免復(fù)雜的需求是相當(dāng)容易的,通過(guò)依賴 Stack Overflow,而不理解復(fù)制來(lái)的代碼以創(chuàng)建一個(gè)網(wǎng)站也是十分容易。

面試

但問(wèn)題是,許多技術(shù)公司在面試中提問(wèn)時(shí),目的是檢驗(yàn)?zāi)銓?duì) JavaScript 是否真正理解。當(dāng)求職者只是對(duì) JavaScript 有淺顯的認(rèn)識(shí),而不是深刻理解這門(mén)語(yǔ)言,面試官會(huì)很快清楚是什么情況。

下面是一些 Web 開(kāi)發(fā)面試中常見(jiàn)的概念。當(dāng)然,我們假設(shè)你已經(jīng)熟知諸如循環(huán)、函數(shù)和回調(diào)這些基本概念。

概念 1. 原始值和引用值(Value vs. Reference)

理解對(duì)象、數(shù)組和函數(shù)是如何復(fù)制和傳遞到函數(shù)中的。了解引用值是被復(fù)制了什么,理解原始值是通過(guò)復(fù)制值來(lái)進(jìn)行復(fù)制和傳遞的。

2. 域(Scope)

理解全局域、函數(shù)域以及塊級(jí)作用域之間的區(qū)別。了解變量在哪里是可用的,了解 JavaScript 引擎如何執(zhí)行變量查找。

3. 提升(Hoisting)

認(rèn)識(shí)到變量和函數(shù)的聲明會(huì)被提升到聲明所在的上下文,即在變量的作用域內(nèi),不管變量在何處聲明,都會(huì)被提升到作用域的頂部,但是變量初始化的順序不變。認(rèn)識(shí)到函數(shù)表達(dá)式不會(huì)被提升。

4. 閉包(Closures)

認(rèn)識(shí)到一個(gè)函數(shù)會(huì)保留對(duì)在其內(nèi)部創(chuàng)建的域的訪問(wèn),認(rèn)識(shí)到這些可以讓我們做什么,例如數(shù)據(jù)隱藏、內(nèi)存化以及動(dòng)態(tài)函數(shù)生成。

5. this

理解 this 綁定的規(guī)則。知道它的工作機(jī)制,知道在函數(shù)中如何判斷它等同于什么,并且認(rèn)識(shí)到為什么它是有用的。

6. new

認(rèn)識(shí)到它如何與面向?qū)ο缶幊坍a(chǎn)生聯(lián)系。了解通過(guò) new 調(diào)用的函數(shù)會(huì)發(fā)生什么。理解通過(guò)使用 new 來(lái)自函數(shù) prototype 屬性的 繼承 的對(duì)象是如何生成的。

7. apply , call , bind

了解這些函數(shù)是如何工作的,了解如何使用它們。了解它們對(duì) this 做了什么。

8. 原型和繼承(Prototypes & Inheritance)

理解 JavaScript 中的繼承通過(guò) [[Prototype]] 鏈進(jìn)行工作。理解如何通過(guò)函數(shù)和對(duì)象設(shè)置繼承,以及 new 是如何幫助我們實(shí)現(xiàn)的。了解 __proto__ 和 prototype 屬性是什么,以及它們的作用。

9. 異步 JS(Asynchronous JS)

理解事件循環(huán),理解瀏覽器是如何處理用戶輸入、Web 請(qǐng)求和一般事件的。知道如何識(shí)別并正確實(shí)現(xiàn)異步代碼。理解 JavaScript 中異步和單線程分別是怎樣的。.

10. 高階函數(shù)(Higher Order Functions)

理解這些函數(shù)是 JavaScript 中的第一類(lèi)對(duì)象以及這意味著什么,了解從另一個(gè)函數(shù)返回函數(shù)是完全合法的。了解閉包和高階函數(shù)允許我們使用的技術(shù)。

大家還有什么補(bǔ)充的嗎,在評(píng)論區(qū)和大家分享吧~

來(lái)自:https://my.oschina.net/editorial-story/blog/1529543

標(biāo)簽: JavaScript