web基础及进阶路线
本篇基于互联网,汇总了前端技术的从0基础到进阶的学习大纲,会逐渐对每个专题进行文档输出
学习方式
前端发展历史进程
前端开发工具
vscode
常用插件及设置markdown
语法笔记工具及使用掌握谷歌浏览器控制台的调试技巧
HTML
HTML
核心HTML
语义:学会如何写出更优html
HTML
及扩展
CSS
CSS核心
CSS
样式之颜色、文字、文本设置CSS
三大特性:层叠性、继承性、优先级盒子模型及使用技巧
视觉格式化模型
盒子模型的计算
box-sizing: content-box/border-box
margin
负值技巧border
使用技三角形制作
掌握
ps
及雪碧图的处理背景
background
属性雪碧图的制作和使用
表单处理及实践
常用表单元素
表单元素属性
CSS
高级常见技巧汇总CSS
高级属性绘制技巧CSS
绘制linear-gradient
radial-gradient
background
box-shadow
text-shadow
border-radius
filter
clip-path
counter
等
CSS
机制at-rule
@charset
@import
@namespace
@document
@fontface
@keyframe
@media
@page
@supports
CSS
变量
CSS
选择器深度剖析
CSS
选择器汇总选择器的权重优先级
选择器的命名规范
精通选择符-众多高级选择器技术的核心
选择器中的正则表达式
AMCSS
开发模式简介全面解读伪类和伪元素
布局及实战套路
float
布局浮动及清除浮动的方法
浮动原理
BFC
盒布局
flex
布局grid
布局columns
布局Shapes
布局PC
经典布局方案深度解析新布局方案深度解析
定位和层叠上下文
定位常见值及原理
- 相对定位、绝对定位、固定定位
position、fixed
和sticky
层叠上下文形成条件
层叠上下文和层叠顺序
层叠上下文对z-index
的影响
- 层级关系
z-index
icon
全解析
img
及HTML area
技术
background-icon
icon-Sprites
iconfont-HTML
iconfont-CSS
SVG icon
CSS
绘制icon
icon
各种使用技巧汇总
字体图标库实战使用
彻底弄懂前端动画
动画细节和原理深入解析
transform
全解
transition
过渡
animation
动画与交互
关键帧动画steps
功能符深入介绍
移动端响应式布局技巧
设备像素、设备独立像素、CSS
像素、PPI
、devicePixelRatio
layout viewport
与visual viewport
viewport
缩放适配
媒体查询@media
vw
弹性适配
动态rem
适配
300ms
延迟、fastclick
原理和实现
点击穿透、1px
实现
移动端响应式适配的主流布局方案
CSS
工程化和框架应用
预处理器作用和原理
CSS
预处理器之less
CSS
预处理器之sass
CSS
预处理器之stylus
less/sass/stylus
代码实践
bootstrap
原理和方法
- 栅格系统
- 源码解读
PostCSS
和基于PostCSS
的CSS
工程化体系
CSS
模块化方案(CSS Modules
)
Vue
和React
框架中的CSS
使用
CSS
框架应用
CSS
工作原理和性能优化
CSS
渲染和解析原理
CSS
布局模型:流动模型(Flow
)
CSS
布局模型:浮动模型(Float
)
CSS
布局模型:层模型(Layer
)
BFC
的原理及功能
IFC
的原理及功能
理解font-size | line-hieght | vergical-align
提升CSS
渲染性能的方面汇总
absolute/display
隐藏与回流等性能优化
base64:URL
背景图片与web
页面性能优化
经典面试真题解析
掌握盒子水平垂直居中的五大方案
已知宽高实现盒子水平垂直居中
宽高不定实现盒子水平垂直居中
关于CSS3
中盒模型的几道面试题
经典布局方案:圣杯、双飞翼布局等
面试必问:移动端响应式布局开发的三大方案
经典的CSS3
面试题解析(BAT|TMD
面试题)
CSS
效果案例实现
https://juejin.cn/post/6844904033405108232#comment
https://juejin.cn/post/6881546676188741645#comment
CSS
库的实现与封装
https://juejin.cn/post/6844903519359598599
JavaScript
全面剖析JS
基础知识
ECMAScript
的发展历程和重大变革声明变量的5种方案
操作语句中的3种循环和3种判断
9种数据类型及详细剖析
数据类型检测和相互转换详解
函数详解:形参/实参/返回值/
arguments
对象
object
详解object
中关于属性的增删改查原始值类型和对象类型的区别
String/Math/Array/Object
常用API
String
字符串中常见的15种方法Math
数学函数中的常用的10种方法Array
数组中常用的20中方法Object
对象中常用的10种方法面试必考:
queryURLParams
地址参数解析案例剖析:随机验证码的实现原理
ES6
新语法特性剖析
let/const
以及Symbol/Bigint
对象/数据/字符串的解构赋值
箭头函数和运算符的基础应用
Promise/async/await
的基础应用Class
类声明的基础应用Set/Map/WeakSet/WeakMap
的基础应用其余常用
ES6+
基础知识
DOM/BOM
编程艺术
DOM
文档树中常用的属性和方法
DOM
节点书中常用的属性和方法
JS
中常用的13个盒模型属性
DOM
中的事件操作
BOM
中的常用的操作方法
小案例:页卡切换和购物车计算器
jQuery
和Zepto
应用指南
jQuery
选择器和常用dom
操作
jQuery
中的样式和属性操作
jQuery
中的动画和事件处理
jQuery
中的ajax
和工具类方法
Zepto
和jQuery
的区别
小案例:JQ/Swiper
实现轮播图
实战案例:瀑布流效果和图片延迟加载
综合实战案例
- 小米商城官网
- 网易新闻
APP
QQ
音乐APP
- 凤凰新闻
APP
- 花瓣网(瀑布流效果)
- 摩拜单车响应式官网
- 企业
OA
办公管理系统
JavaScript
核心运行机制与实战开发
14大核心模块+10大专题课程
全面覆盖JS
、AJAX
、HTTP
、webpack
、Vue
、React
、Node
、小程序
、数据结构和算法
、数据可视化
等核心内容
基础知识+各种框架源码解读+开源插件组件封装+性能优化+大量实战案例
JS
第一座大山:堆栈内存和闭包作用域
9种数据类型区别及相互转换
词法解析和变量提升
ES5/6
混合模式下的V8
词法分析和变量提升机制
堆(Heap
)栈(Stack
)内存及垃圾回收机制
JS
底层运行机制:EC/AO/VO/GO
作用域(Scope
)和作用域链(Scope-Chain
)
闭包及其两大作用(保存/保护)
高阶编程:惰性函数/柯理化函数/compose
组合函数
BAT/TMD
经典面试题深入剖析
jQuery
源码解读(基本骨架)
Lodash
源码解读(函数防抖和节流等)
JS
第二座大山:面向对象(OOP
)程序设计
全方位剖析面向对象程序设计
构造函数(constructor
)和new
底层实现机制
原型(prototype
)和原型链(proto
)
函数3种角色及Function/Object
的相互依赖机制
BAT/TMD
经典面试题深入剖析
This
的5大场景及实战应用
call/apply/bind/instanceof/Object.create()
等源码剖析
JS
中4大继承方案的深入解析
jQuery
源码解读(数据类型监测的封装及底层核心)
Lodash
源码解读(数组/对象的深拷贝和深比较)
JS
的第三座大山:同步异步编程及浏览器渲染机制
浏览器底层渲染机制
V8
渲染页面的全套机制及DOM
性能优化
DOM
树/CSSOM
树/RENDER
树
DOM
的回流(Reflow
)重绘(Repaint
)及实战应用
同步(Sync
)异步(Async
)编程
事件循环(EventLoop
)和事件队列(EventQueue
)
EventLoop
事件循环机制
微任务(Microtask
)和宏任务(Macrotask
)
CRP
关键节点性能优化(Critical Rendering Path
)
页面白屏优化之骨架屏技术(Skeleton
)
BAT/TMD
经典面试题深入剖析
JS
第四座大山:DOM
事件及设计模式
详细解读事件及事件对象
DOM2
级事件的核心运行机制
事件传播机制和事件代理
观察者(Observer
)和发布订阅(Pub-Sub
)设计模式
代理(Proxy
)和装饰器(Decorator
)设计模式
从零实现开源级插件组件封装
BAT/TMD
经典面试题深入剖析
京东放大镜、B
站楼层导航、百度可拖拽登录框等10多个经典案例
JS
第五座大山:ES6
+核心知识和源码分析
let/const
和var
的区别
箭头函数和普通函数的区别
class
类和类的装饰器(Decorator
)
Set/Map/WeakSet/WeakMap
Promise
和Promise A+
规范源码
https://blog.csdn.net/qq_40588413/article/details/104437358
async/await
及内部实现原理
Generator
生成器和Interator
迭代器
模块化发展历程:AMD、CMD、CommonJS、ES Module
Object.defineProperty
和Proxy
深度对比
函数式编程和命令式编程
函数设计规范
- 普通
- 构造函数
- 箭头函数
- 生成器函数
- 静态对象
JS
第六座大山:AJAX/HTTP
前后端数据通信
HTTP1.0
和HTTP2.0
的区别
HTTP
和HTTPS
的区别
TCP
的三次握手和四次挥手
DNS
和DNS
预解析
强缓存(Expires/Cache-control
)和协商缓存(Last-Modified/ETag
)
HTTP
报文和HTTP
网络状态码
XMLHttpRequest
及内部核心操作
数据传输格式:FormData/x-www-form-urlencoded/raw/binary
Axios
库及Axios
的二次配置
基于Promise
从零封装Axios
库
Fetch
及Fetch
库的封装
N
种跨域解决方案及底层原理
前端性能优化方案汇总(全面深入分析 + 实战演练)
进阶专题
数据结构和算法
堆/栈/队列/优先级队列
链表/反向链表/HASH
/二叉树/红黑树
大O
标识法和时间复杂度
N
种排序算法的详细解析
N
种去重算法的详细解析
递归算法及深度优先/广度优先
BAT/TMD
算法原题解析
持续性更新算法题库(Leet-Code
和大厂原题)
H5
及响应式布局开发
响应式布局方案:@media/rem/flex/vw/vh
layout viewport
与visual viewport
与dpi
适配
音频audio
和视频video
处理方案
移动端Touch
事件及事件库封装
FileReader
文件系统及实战应用
Swiper
框架及实战应用
实战案例:创意H5
场景交互案例
Canvas
和数据可视化
canvas
的基本用法及图像处理
svg
的基本用法
canvas
动画及小游戏开发
基于canvas
实现QQ
头像的裁切和上传
Echarts
基本用法及在使用时需注意的点
webGL/three.js
基础及实战应用Echarts
实战多元化/个性化图表练习
正则表达式深入剖析
正则表达式中的元字符和修饰符
正则匹配及常用的正则表达式编写
正向预查和负向预查
正则捕获的懒惰性和贪婪性
exec/match/replace
的底层实现原理
实战案例:queryURLParams
、千分符、时间格式化等
BAT/TMD
经典面试题深入剖析
源码阅读及打造开源级插件组件
手撕惰性函数/柯理化函数/组合函数等高阶编程技巧的源码
手撕call/apply/bind/instance/Object.ceate/new
等内置方法源码
手撕Promise A+/async/await
源码
jQuery/Lodas/underscore/Axios
等类库核心源码逐行剖析
深度解读前端经典的10+
设计模式
开源级插件组件封装
- 树形折叠菜单组件
- 图片延迟加载组件
- 万能
Dialog
模态框组件 - 文件上传(含切片上传、断点续传)组件
- 炫酷的
3D
轮播图组件 - ……
企业OA
办公管理系统
登录注册的前后端处理机制
加密策略:encodeURIComponent/MD5
等
存储方案:cookie/webStorage/session
等
用户权限和登录态的校验处理
Token
及JWT
的校验处理
项目实战开发技巧及性能优化
电子商城Hybrid
混合APP
Hybrid
混合APP
开发
JSBridge
通信机制和底层原理
微信JS SDK
基于Hbuilder
实现APP
打包
移动端联调处理方案
项目实战开发技巧及性能优化
Vue/React/Webpack
核心知识与实战开发
工程化开发和部署
webpack
webpack
核心基础知识
单(多)入口项目打包
webpack devServer
和Proxy
代理
loader
及plugin
的处理
CSS
样式的抽离、压缩及兼容性处理
less/sass
等预编译语言的处理
基于babel
转换ES6/ES7
语法及Polyfill
兼容处理
resolve/sourceMap
webpack
性能优化(TreeShaking
、CDN
加载热更新、图片压缩等)
vue-cli
脚手架的应用/配置和性能优化
vite
vite/snowpack
基础语法和实战应用
rollup
框架
vue2.0
vue2
基本使用mvvm
双向数据绑定实现的原理dom-diff
及其实现原理v-model
及其实现原理template
模板语法和render
JSX
语法受控组件(data
)和非受控组件(ref
)属性及属性的校验规则常用的指令和
Vue.directive
自定义指令watch
与computed
的深度对比和实现机制事件处理及修饰符
表单元素和条件及循环渲染
vue transition
动画和路由切换动效生命周期(钩子)函数及实战应用
Componet
组件化开发及slot
插槽实战案例:淘宝商城购物车信息管理
Vue
生态及进阶(vuex/vue-router
)
复合组件信息通信的6大方案
$on / $emit
自定义事件vuex
基础:state/getter/mutation/action
vuex
的模块化管理和mapXXX
遍历vuex
核心源码解读SPA
(单页面应用)和MPA
(多页面应用)对比HASH
路由和BROWSER
路由对比编程式导航和动态路由
路由导航守卫及权限校验
keep-alive
组件静态/动态缓存vue-router
核心源码解读实战案例:
TASK OA
任务管理系统
Vue
综合实战和性能优化
element-ui/cube-ui/vant
实战应用和二次封装从零开始封装专业级的
UI
组件Vue-DevTools
前端调试工具与单元测试长列表和无限列表性能优化方案
基于
babel-plugin-componet
实现组件按需导入图片/路由/数据等资源的懒加载
loading
/骨架屏等优化技巧的实战应用webpack
编译打包层面的优化处理CSRF/XSS
等方面的网络安全优化处理综合实战案例
基于
Vue + Vue-Router
打造今日头条客户端基于
Vue + VantUI/CubeUI
开发知乎日报APP
基于
Vue + Vuex
开发QQ
音乐播放器基于
Vue + Vuex + Vue-Router
开发网易云音乐【大型实战】珠峰在线课堂
APP
【大型实战】企业级
OA
办公管理系统
Vue3.0
基础知识与实战应用
全方位深度对比
vue2
和vue3
的区别Vue3
新特性全面剖析基于
vite/webpack
实现vue3
工程化部署掌握
setup
和10种响应式系统API
掌握新生命周期函数和模板
refs
的使用vue3
中的响应式系统和dom-diff
基于
vue3
实现知乎日报APP
开发随着
vue3
及其生态更新
React
基础知识和核心原理
create-react-app
脚手架的应用与优化
jsx
的基础知识和实战应用
虚拟DOM
到真实DOM
的渲染原理
react
中的dom-diff
实现原理
属性和状态的管理(深入剖析setState
的同步和异步)
受控组件和非受控组件
react
合成事件和双向事件绑定
函数式组件和React Hooks
类组件及其生命周期函数
Components VS PureComponent
复合组件和组件嵌套
基于属性实现父子组件信息通信
基于上下文(React.createContext
)实现组件信息通信
React
生态及进阶(redux/react-router-dom
)
redux
的操作流程和实战应用
react-redux
的实战引用和中间件处理
高阶组件(代理组件)及其实现原理
redux/react-redux
/中间件 源码解读
Dva
和UmiJS
及其实战应用
react-router-dom
的基础常规操作
withRouter
高阶函数
编程式导航和动态路由
实战案例:TASK OA
任务管理系统
React
综合实战和性能优化
从零开始封装专业级UI
组件
Ant Design UI
库的应用和二次封装
axios/fetch
二次配置和API
接口模块化管理
第三方登录和支付功能
Code Splitting
代码“懒加载”
shouldComponentUpdate
与PuerComponent
列表类组件优化处理技巧
基于Immutable.js
进行性能优化
react-addons-perf
性能监测
进阶专题
微信小程序开发
小程序注册和IDE
rpx
适配、模板使用、图片处理等
小程序中核心组件/API
的使用
导航及列表渲染(包含无限渲染)
HTTP-PROMISE
及服务器的交互处理
获取用户信息及地理位置
小程序中的支付处理
mpvue
框架的实战应用
uni-app
框架的实战应用
大型实战案例:美团商城小程序开发
全面贯穿node.js/express
全栈开发
node
的安装和npm
包管理器
fs
内置模块和PromiseFS
封装
http
内置模块和搭建web
服务器
搭建数据服务器和实现Restful API
规范的接口
Express
框架的基础知识
Express
中路由和中间件的实战应用
Koa2
框架的基础知识
数据Mock
和MongoDB
数据库应用
实战案例:小米有品电子商城APP
的Node
后台开发
实战案例:企业级OA
办公管理系统的Node
后台开发
GIT
团队协作开发
Git
的简介和安装
集中式(SVN
)和分布式(GIT
)的对比
工作区、暂存区、历史区、远程仓库
历史回滚和差异对比
和远程仓库的信息同步
Git
分支处理
分支合并和处理冲突
玩转GitHub
和构建个人博客