共计 5872 个字符,预计需要花费 15 分钟才能阅读完成。
在这里我以过来人的身份写下这篇文章,心愿刚刚进入大学或者行将进入大学的学弟学妹们千万不要像我一样,等到快要毕业或者进来找工作的时候才晓得常识技能的重要性。
我只有专科学历,业余学的是机械工程业余。大一的时候还老老实实地上上课,加入下学校的各种社团活动,感觉还挺空虚。到了大二可能受身边同学的影响,天天沉迷于网吧,白天睡觉早晨通宵,玩得不可开交。大学毕业就轻易找了个物流公司实习。
下班后才晓得社会多残暴,工资低开销大,很多中央都须要用到钱,工资月光,更别说什么贷款,心里其实挺慌的;偶尔一次机会,理解到一个高中同学大学学的是计算机专业,当初从事前端开发的工作,薪资待遇挺好的。他和我说他身边也有很多共事也不是计算机专业出身,让我尝试自学一下前端。
于是我从去年 9 月份开始自学 WEB 前端,差不多用了 8 个月的工夫吧,当初是在南京的一家软件公司做开发,技术部大概是 30 多人。薪资是 12K,五险一金。我感觉本人挺侥幸,大学旷废了那么多工夫,毕业后还能找到一份月薪过万的工作。
依据我自学的教训给大家几点倡议:
1. 筹备一份零碎的视频教程。
我自学用的视频教程是我敌人给我的,他跟我说一般教程 ajax 前后端交互会在学完 js 后间接讲 XMLHttp 的 API 办法和应用, 跨域和封装也只限于前端代码局部的解说和库的应用。而他给我找的这份教程,在这些根底上拓展了 HTTP 实践、交互通信原理、服务端 http 服务器搭建、MIME、报文端口、监听抓包、网络业务模型、代理缓存、cookie session 鉴权认证、平安加密、Token、JWT、oauth、session 治理、RESTful 接口设计、协商合约、资源标识等原理规则性常识,可能让我真正分明整个交互的前因后果,而不只是单纯地抄办法、跟着教程写代码。我能找到 12K 的工作,很大一部分起因就是这份教程讲得内容够具体,技术学的扎实。
如果大家找不到一份零碎的教程,能够用我过后自学的这份,这份教程在我的网盘外面,因为网盘链接放上来会被倡议批改,有须要能够退出咱们的学习裙,后面三位 484,两头三位 757,前面三位 760。找我要,我收费分享给你。
2. 学习过程中肯定要多练习敲代码。
我刚开始自学那会,总感觉本人能看懂代码,但入手却写不进去。通过和我敌人沟通才发现,我的学习形式有问题。失常的学习形式应该是写代码的工夫要比看视频的工夫长。只有多敲代码,才可能了解使用。很多人学完之后,可能看懂代码然而不会写,或者是学了前面的忘了后面的,根本原因都是练得太少。假如每天学习前端的工夫是 6 个小时,那么起码要拿出 3 个小时以上的工夫练习敲代码。只看视频不敲代码,就是在浪费时间。
3. 多和专业人士沟通交流,防止闭门造车
有人一起交流学习,真的是事倍功半,效率会进步十分多。身边没有能跟你探讨学习的敌人,能够加一些学习气氛不错的前端交流学习群,跟有教训的人交换能够学到很多好的学习办法和技巧,进步咱们的学习效率。找不到好的学习群,能够退出我敌人创立的这个前端学习交换群。后面三位 484,两头三位 757,前面三位 760,外面有好多曾经工作的大佬,每天不忙的时候在群里解答问题。也有很多正在学习的人每天交换学习心得。氛围是十分好的,大家能够在群里一起监督学习。我能自学找到 12K 的工作,离不开群里这些大佬的帮忙。
最初给大家分享一份零碎的前端学习路线,我就是依照这份学习路线去学的,下面的知识点把握了百分之七十就找了 12K 的工作,给我整顿这份学习路线的大佬说,可能把这份学习路线上的知识点全副把握,就能够筹备大厂的面试了。
HTML/CSS3 以及工具局部:
vscode 开发工具应用
markdown 文档工具应用
浏览器平台环境
标签根底
DTD 与 META
语义化
选择器
权重与优先级
匹配规定
浮动与革除、
BFC、
类名组合规定
SEO 前端技巧
定位
叠加技巧
伪类
伪元素
盒子模型
代码标准
性能优化
渲染原理
CSS Sprites
iconfont 字体图标、
布局思路
布局定式
css3 动画
css3 选择器
css3 过渡
flex 布局
背景突变
css3 实用动效
3D 模块
css3 变量
em/rem/vw
学完这些能够实现一个企业外部多页面我的项目实战(非仿站)有残缺 PSD 与切图
而后就是 JavaScript 局部,你须要把握以下知识点:
JavaScript 概念
根底认知
倒退历史
利用范畴
优缺点
ECMAScript
语言概览
语句语法
数据类型
运算符
隐式转换
运算规定
管制流程
作用域
作用域链
作用域解析
js 解释引擎
字符串属性办法
for of/for in
数组属性办法
对象
狭义对象概念
对象个性
存储机制
深拷贝
对象理论利用
工厂模式
构造函数
原型
原型链
原型指向
封装
多种继承
包装对象
this
this 指向
js 数据处理
垃圾 GC
闭包原理与利用
debug 方法论
浏览器控制台工具利用
面向对象开发
函数式开发
纯函数
递归函数
回调函数
组合函数
缓存函数
柯里化函数
偏函数
函数防抖与节流
高级函数
IIFE 函数
模块化
数学对象
高级数组办法(reduce、filter、map、every、some、forEach、find、findIndex、include)等
高级对象办法(entires、defineProperty、freeze、fromEntries、assign、keys、create、hasOwnProperty)等
this 通过 bind、call、apply 指向偏移、同步与异步、闭包模块化、数据形变解决、性能解决
DOM/BOM
DOM 对象与办法
节点与遍历树
DOM 选择器
DOM 节点增删改查
DOM 款式操作
DOM 地位获取与偏移
DOM 对象与标签区别
DOM 虚拟化
DOM 事件
Event 对象
定时器与监听器
事件委托
事件代理
事件分流
事件冒泡
默认行为
事件捕捉
防抖
节流
滚动
键盘行为
事件降频
行为锁机制
拖拽模组
碰撞检测
间隔判断
三角函数
方向判断
静止框架
弹性静止
重力加速度
DOM 树
CSSOM 树
渲染解析
加载
回流
重绘
浏览器线程与阻塞
BOM 深刻
window 对象
navigator
history
screen
location
spa 概念
本地传参
日期对象应用
日期格式化封装
随机封装
DOM 分片容器
JS 业务利用扩大
JSON 对象
数据解析
JSON 办法
模板渲染
缓存懒加载
正则表达式 RegExp
元字符
修饰符
正向预查
贪心模式
replace 办法
分组与不分组
test
match 与 exec
正则库封装
表单校验
图片预存懒加载
自定义封装滚动组件
多重轮播(循环、视差、旋转木马)
选项卡切换
楼梯导航
吸顶导航
拖拽导航
JavaScript 编码格调指南
console 利用技巧
ECMAScript5 — ECMAScript9 扩大
版本解读
应用环境
let
const
解构赋值
箭头函数
对象解构
reset 参数解构
class
set
get
extends
super
static
private 实现
symbol
promise
proxy 代理拦挡
async/await
对象新增 API
数组新增 API
字符串新增 API
原型属性
对象润饰
代理拦挡
链式询问
空值合并运算符
泡泡龙面向对象游戏开发
HTML5 / 挪动端开发 局部
HTML5 标签与 API
HTML5 概念
定义
新增个性
DTD 比照
新增 H5 标签
新增语义化 H5 标签
H5 表单
H5 拖拽事件
video
audio
fullScreen
FileReader 文件流
Blob 对象
sessionStorage
localStorage
网络状态
页面生命周期
网页状态监听
地理信息与定位
canvas 画布
worker 多线程
Notifications 桌面告诉
播放器开发
canvas 交互特效开发
挪动端适配 / 事件
挪动端适配概念
尺寸与分辨率原理
PPI 与 DPI 计算
DIP 与 DPR 设施像素概念
视口 viewport 概念
布局视口
视觉视口
现实视口
视口适配计划(Meta viewport)缩放设置
screen 窗口大小 API
媒体查问 @media
rem 适配
vw vh 适配
挪动端适配计划
flexible rem 计划
vh vw 计划
复合计划
高清适配计划
挪动端字体缩放解决
1px 边框问题解决
半像素线
图片高清适配
image-set
srcset
js 拼接 URL 技巧
IPhonex 刘海屏适配
平安区域
fit 与 env
Meta 权限治理
兼容优化
IOS 头部底部闪屏回退输入框问题
输入法空格问题
默认首字母大写问题
滑动卡顿问题等
终端款式丑化与拜访判断
Touch 事件组封装
click 提早解决
FastClick 应用
禁用缩放设置现实视口
罕用类库 / 工具
jquery: 元素抉择、增删改差、事件处理、地位获取、动画过渡、高级办法、特效利用
zepto:挪动端的 jquery、DOM 操作、挪动端事件、click 提早解决、touch 事件组
根底 UI 库: layerUI、easyUI、bootStrap、UI 模块化、UI 库应用技巧、文档解读、案例调试、表单零碎
iScroll、touchjs 等挪动端事件库应用
swiper:挪动端网站触摸滑动、轮播图插件、模块化利用、源码解读
art-template: 模板引擎 模板语法、渲染办法、原生模板引擎实现
CSS 预处理:sass、less 应用 stylus 深刻学习、预处理语法、css 编程、Minxin、预处理函数、继承、嵌套
vscode 高级插件与配置 liveserver sass
模板化利用、预处理利用
date-picker 挪动端原生组件开发
需要剖析
业务规定、
技术栈选型、
文件输入规定、
技术剖析
MVC 模型概念与设计、
业务逻辑分类
view 层适配计划
原型布局搭建
模板化生成
工具函数开发、
面向对象式业务设计
性能类日期对象开发
交互业务封装
模块对接
优化设计
面向对象高级程序设计
Nodejs 与工程化开发 局部
Node 原生根底
Node 根底概念
NPM 命令
V8 引擎概念
JavaScript 模块化 CMD AMD UMD
EventLoop 事件循环
同步异步、
阻塞非阻塞
工作队列
宏工作
微工作
原生 Node 模块
外围模块与 require
module
触发器 events 与 path 模块
fs 模块
Buffer 对象
URL 模块
HTTP 模块
stream 流
Node 原生封装 HTTP 与文件服务器
Node 框架
express 框架应用
中间件
外围对象
路由配置
模板引擎
数据脚本
Router 外围
CORS 配置
错误处理
校验封装
PM2 治理
nodemoon 治理
MORGAN 日志解决
查问正则捕捉
中间件开发
bodyParse 等第三方中间件应用
文件流上传下载
文件流切分
webpack 工程化构建
工程化概念
工程化工具介绍
webpack 基础知识
webpack 配置与运行
plugin 插件
loader 应用
入口进口配置
模块 modules
依赖解决
dev Server
target
文件切分
build 打包
热处理
package 治理
性能优化
测试解决
第三方插件应用
babel 等
前后端数据交互
HTTP 通信交互原理
申请响应
MIME
URI 地址
报文解析
端口
报文流
测试监听抓包
TCP/IP 握手机制
网络业务模型
代理
缓存
网关
隧道等概念
method 与申请头分类
根底 XMLHTTPRequest 对象办法属性
办法
ajax 异步交互
同源策略原理
原生 js 封装 ajax 交互
jquery 的 ajax 封装交互
jsonp 跨域解决
cors 跨域解决
携带 cookie 与跨域解决
代理服务器跨域解决
cookie 验证与通信
axios 库的应用 代理
封装
拦挡
合并
二次封装
通信加密策略
数据对称加密
数据非对称加密
RSA 加密实际
MD5 加密实际
登录注册与鉴权机制
Authenticity 认证
Token 认证
JWT 认证
session 状态治理
oauth 认证
RESTful 接口设计
RESTful 设计准则
状态码设计与标准
服务器响应规定与格局
前后端接口协议制订
传统 RESTful 改良
API 设计规范
资源定位
JSON 模式
合约阐明
资源标识符
缓存敌对 API
HTTP 头治理
文档定义
松耦合准则
一致性
重用
稳定性准则
数据库存储
MongoDB 根底概念
NoSQL 与 SQL
CAP 定理
RDBMS
MongoDB 语法
指令
监控与 GUI
MongoDb 驱动
Mongoose 利用
数据库创立
汇合增删改查
文档增删改查
数据库查问
高级查问操作
通道查问
多条件查问
反向筛选
索引解决
aggregate 聚合管道
validation 验证
population 联表
middleware 中间件解决
查问 ERROR 类二次封装
博客后盾我的项目实战
数据库设计
服务端路由搭建
接口设计与 API 治理
通信交互管道封装
注册登录
路由导航
前端路由治理
权限治理
用户治理
分类管理
标签治理
文章治理
模块化性能封装
校验库封装
promise 链式行为封装
异步模块解决
SPA 单页面利用高级实现
原生集中行为控制器
模板化 + 模块化 + 预处理 + 工程化实现前端页面
组件化封装
组件化根底概念
组件设计准则
组件封装
组件耦合与解耦
工程化 + 模板化 + 模块化实现原生组件化性能
vue 框架局部
vue 根底
vue 开发筹备
工具与插件
mvc mvp mvvm 设计理念
原生 js 实现 MVVM 外围框架
vue 设计模式
生命周期
命令与属性
组件化
数据驱动与双向绑定
虚构 DOM 概念原理
模板语法
条件与列表
数组监测
计算属性
事件处理
润饰与表单
监听器
过滤器
methods watch computed filter 比照
组件化开发
动静组件
组件通信
高级组件通信
插槽
vue 动画
实例对象
set
get
nextTick
vue 插件
vue 工程化
Babel
webpack 配置 vue
vue 单文件组件
vue-cli
工程平台解决
postCss
animate
core
socket
lodash 工具
vue-cli 插件
preset
动态资源解决
环境变量与膜还是切换
工程化部署
工程构建
vue Router
vue 路由概念
嵌套路由
路由视图
动静路由
路由匹配
编程式导航
history
hash 模式治理
命名视图
重定向与别名
导航守卫
路由元信息
滚动与懒加载
导航故障解决
vuex
vuex 外围概念
EventBus 比照
状态管理模式
Store
state
getter
mutation
action
moudule
vuex 辅助函数与 API 性能
vuex 环境抉择
vuex 模块化解决规定与技巧
对象格调提交形式
模块重用等
vue 我的项目实战
vue 博客我的项目实战 PC + 挪动端
elementUI
vantUI
websocket 聊天室
虚构人偶
vueScroll
store
qs
nprogress
editor
文章分类
词云成果
spa 单页面利用
挪动 PC 无缝切换
残缺注册登录
vue 加密鉴权
http 封装治理
错误处理封装
vuex 外围状态治理
本地存储状态更新
令牌解决
文章富文本编辑
点赞
珍藏
拜访
评论
组件封装
组件复用
组件混合
高级组件开发
复合性组件通信
vue 中解决原生 DOM 行为
vue 常见错误处理
重置 vue 数据响应
个人信息批改
头像上传
告诉组件封装
postcss 利用