前端知識點匯總


一、 JS高級

1.作用域/作用域鏈

2.原型/原型鏈

3.閉包

4.This指向call/apply

5.javascript 運行機制

6.Ajax原理、Axios庫

7.同步/異步編程

8.jQuery源碼學習

二、ES6

1.字符串、數(shù)組對象擴展API

2.變量擴展:let 、const的解構賦值,塊級作用域

3.函數(shù)擴展:箭頭函數(shù)默認參數(shù)、rest參數(shù)

4.展開運算符、模板字符串

5.Set、map數(shù)據(jù)結構

6.迭代器和生成器函數(shù)next和yield的理解

7.Proxy對象屬性代理器:屬性的讀?。╣et)和設置(set)相關操作

8.Promise對象、異步編程的解決方案

9.Async+await:異步編程的終極方案 promise+generator的語法糖

10.Class語法、構造函數(shù)的語法糖

11.模塊化編程export + import 的導入和導出

三、DOM

四、瀏覽器BOM

1.瀏覽器的構成和運行機制

2.瀏覽器內(nèi)核

3.瀏覽器交互:BOM和DOM相關的webapi、監(jiān)聽事件

4.瀏覽器緩存機制

5.瀏覽器的渲染原理

6.瀏覽器的安全行:跨域和攻擊

五、模塊化編程AMD/UMD/COMMONJS

1.

六、關于網(wǎng)絡協(xié)議

1. http協(xié)議

2. cookie、session、token

七、HTML/CSS/LESS

1.HTML

1.1 Html語義化標簽的理解、結構化的理解;

1.2 SEO優(yōu)化

1.3 H5新增屬性,如data、類名className;新增表單元素,拖拽drag

2. CSS

1、css選擇器(三大特性)

2、BFC機制

3、盒子模型

4、css模塊化開發(fā)(封裝);SCSS和LESS的使用

5、屏幕適配以及頁面自適應

6、css3中心軸的選擇器

7、css3新增屬性,transform、transition、animation等

4. 關于布局

1. 標準文檔流(padding + margin + 負margin) + 浮動float + 定位left + right + top + bottom

2. 百分比布局: px單位用%num 代替,占父級元素的百分比

3. flex彈性布局: 主軸、輔助軸的幾個數(shù)學

4. grid柵格布局: 使用框架中的類名來替代,本質上還是百分比布局

八、NODE/EXPRESS


九、Webpack

1.打包原理

十、VUE

1.Vue雙向綁定數(shù)據(jù)的原理

vue實現(xiàn)數(shù)據(jù)雙向綁定主要是:采用數(shù)據(jù)劫持結合“發(fā)布者-訂閱者”模式的方式,通過Object.defineProperty()來劫持各個屬性的setter、getter,在數(shù)據(jù)變動時發(fā)布消息給訂閱者,觸發(fā)相應監(jiān)聽回調

2.解釋單向數(shù)據(jù)流和雙向數(shù)據(jù)綁定

單向數(shù)據(jù)流:顧名思義,數(shù)據(jù)流是單向的。數(shù)據(jù)流動方向可以跟蹤,流動單一,追查問題的時候可以更快捷。缺點就是寫起來不太方便。要使UI發(fā)生變更就必須創(chuàng)建各種action來維護對應的state。

雙向數(shù)據(jù)綁定:數(shù)據(jù)直接是相通的, 將數(shù)據(jù)變更的操作隱藏在框架內(nèi)部。優(yōu)點是在表單交互較多的場景下,會簡化大量與業(yè)務無關的代碼。缺點就是無法追蹤局部狀態(tài)的變化,增加了出錯時debug的難度

3.Vue 生命周期的理解

????beforeCreate: 在實例創(chuàng)建之前執(zhí)行

????create:在實例創(chuàng)建、數(shù)據(jù)加載后,能初始化數(shù)據(jù),DOM渲染之前執(zhí)行

????beforeMount:虛擬dom已創(chuàng)建完成,在數(shù)據(jù)渲染前最后一次更改數(shù)據(jù)

????Mounted:頁面、數(shù)據(jù)渲染完成,真實DOM掛載完成

????beforeUpdate:重新渲染之前觸發(fā)

????Updated: 數(shù)據(jù)已更改完成,DOM也重新reder完成,更改數(shù)據(jù)會陷入死循環(huán)

????beforeDestory和destoryed:前者是銷毀實例前執(zhí)行(實例仍然完全可用),后者則是銷毀后執(zhí)行。

4.組件通信

4.1子組件通過props屬性,綁定父組件數(shù)據(jù),實現(xiàn)雙方通信

4.2子組件向父組件通信

將父組件的事件在子組件通過$emit觸發(fā)

4.3非父子、兄弟組件之間的數(shù)據(jù)傳遞

如:EventBus

5.v-if和v-show區(qū)別

使用v-if 的時候,如果值為false, 那么頁面將不會有html標簽生成

v-show則是不管值為true,還是false, html元素都會存在,只是css中display顯示或隱藏

6.NextTick

$nextTick 是在下次DOM更新循環(huán)結束之后執(zhí)行延遲回調,在修改數(shù)據(jù)之后使用$nextTick,則可以在回調中獲取更新后的DOM

7.Vue組件data為什么必須是函數(shù)

因為js本身的特性帶來的,如果data是一個對象,那么由于對象本身屬于引用類型,當我們修改其中的一個屬性時,會影響到所有vue實力的數(shù)據(jù)。如果將data作為一個函數(shù)返回一個對象,那么每一個實例的data屬性都是獨立的,不會相互影響了。

8.Computed/methods區(qū)別

我們可以將同一個函數(shù)定義為一個method或者一個計算屬性。對于最終的結果,兩種方式是相同的。

不同點:

-- computed:計算屬性是基于它們的依賴進行緩存的,只有在它的相關依賴發(fā)生改變時才會重新求值

-- methods:只要發(fā)生重新渲染,method調用總會執(zhí)行該函數(shù)

9.jQuery、vue有什么不同

Jquery專注視圖層,通過操作DOM去實現(xiàn)頁面的一些邏輯;vue專注于數(shù)據(jù)層,通過數(shù)據(jù)的雙向綁定,最終表現(xiàn)在DOM層面,減少DOM操作。

Vue 使用了組件化思想,使得項目子集職責清晰,提高了開發(fā)效率,方便重復利用,便于協(xié)同開發(fā)

10.Vue中key的作用

Key的特殊屬性主要用在vue的虛擬DOM算法,在新舊nodes對比時辨識VNodes。如果不使用key,vue會使用一種最大限度減少動態(tài)元素并且盡可能地嘗試修復/再利用相同類型元素的算法。使用key,它會基于key的變化重新排列元素順序,并且會移除key不存在的元素

有相同父元素的子元素必須有獨特的key。重復的key會造成渲染錯誤

11.插槽slot

12.Vuex

13.Vue-router

搭建SPA單頁應用

1.路由組件配置

2.路由間傳參

3.路由跳轉

4.路由導航守衛(wèi)

14.Vue-cli

15.Vue 深入、源碼閱讀

1.數(shù)據(jù)響應式原理

2.Virtual dom

3.Diff算法

4.NextTick等等

十一、面向對象的編程思想

1、類的抽象

2、對象的封裝、繼承

3、為了更好的去管理數(shù)據(jù)、分類數(shù)據(jù),實現(xiàn)高內(nèi)聚、低耦合

十二、設計模式

1、常用設計模式:單例、工廠

十三、數(shù)據(jù)結構/算法

1.學習常用的排序搜索算法、順序表、鏈表、棧、隊列、樹、堆

十四、系統(tǒng)編程

1.LINUX命令行操作、系統(tǒng)文件管理

2.多任務、多線程、多進程、協(xié)程、并發(fā)、并行、串行、同步、異步等概念的理解

十五、Canvas/Svg/D3.js (了解基本用法)

十六、GIT簡單操作原理

十七、TypeScript(學習)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • vue概述 在官方文檔中,有一句話對Vue的定位說的很明確:Vue.js 的核心是一個允許采用簡潔的模板語法來聲明...
    li4065閱讀 7,624評論 0 25
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容,還有我對于 Vue 1.0 印象不深的內(nèi)容。關于...
    云之外閱讀 5,177評論 0 29
  • 每個 Vue 應用都是通過用 Vue 函數(shù)創(chuàng)建一個新的 Vue 實例開始的: 實例生命周期鉤子 每個 Vue 實例...
    Timmy小石匠閱讀 1,439評論 0 11
  • 主要還是自己看的,所有內(nèi)容來自官方文檔。 介紹 Vue.js 是什么 Vue (讀音 /vju?/,類似于 vie...
    Leonzai閱讀 3,538評論 0 25
  • 一:什么是閉包?閉包的用處? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質上,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 10,031評論 1 52

友情鏈接更多精彩內(nèi)容