随着互联网的发展速度迅猛,web前端工程师愈来愈火热,想学习Web前端开发吗 ? 若想成为web前端工程师须要掌握哪些知识?今天小编总结了成为web前端工程师须要掌握的全部知识。javascript
1、基础前端
一、H5标签java
1.一、H5引进的一些新的标签,须要注意article、header、footer、aside、nav以及HTML的标题结构node
1.二、理解浏览器解析HTML的过程,理解DOM的树形结构,及相应APIangularjs
1.三、理解HTML标签在各个浏览器上的默认样式(代理样式),理解CSS中的重置样式表的概念web
1.四、理解Canvas、SVG、video等功能性标签chrome
1.五、理解form、iframe标签,理解文件提交过程gulp
二、CSS知识bootstrap
2.一、学习基础知识,包括大部分经常使用属性、选择器的用法,了解大多数标签基本概念设计模式
学习浏览器兼容性问题,知道兼容性的主要问题及解决方法
2.二、深刻理解盒子模型,区分块级元素、行内元素,一些重要的属性: display、float、position,必需要会区分盒子、行内盒子的概念
还能够学一些简单的预编译语言:sass、less
2.三、学习经常使用框架,可使用bootstrap构建项目
2.四、学习框架的代码组织方式
包括:12格栅系统、组件化、组件的风格化等
2.五、学习CSS 3的新功能,特别是动画效果、选择器
2.六、学习一些CSS对象化思想,学习编写简洁性、高复用性、高健壮性的CSS
2.七、能够看看扁平化设计,还有简洁性
2.八、理解CSSOM、render、reflow、CSS性能、CSS阻塞概念
学习方法:
多看别人的代码,优秀的设计网站
要学会使用grunt、gulp压缩CSS
display + position + float 能够组合出很复杂的效果,多练习盒子模型
尝试在不用float,且position不为absolute的状况下实现等高、等宽等布局
三、深刻学习javascript
3.一、从新学习JS语法,注意:表达式、语句、类型
主要倾向于“原生”JS哦,不要使用框架
3.二、深刻理解JS的“一级函数”、对象、类的概念
学会使用函数来构造类、闭包,学会用面向对象的方式组织代码
3.三、深刻理解JS的做用域、做用域链、this对象
理解函数的各类调用方法(call、apply、bind等)
3.四、理解对象、数组的概念
理解对象的“[]”调用,理解对象是一种“特殊数组”
理解for语句的用法
深刻理解JS中原始值、包装对象的概念(重要)
3.五、学习一些经常使用框架的使用方法,包括:JQUERY、underscore、EXTJS,更高级的:backbone、angularjs、ejs、jade比较多个框架的使用方法,总结常见用法,提升学习速度学习模块化开发(使用require.js、sea.js等)
3.六、适当看一些著名框架的源码,好比jQuery重要的是学习框架中代码的组织形式,即设计模式
3.七、了解JS解释、运行过程,理解JS的单线程概念
深刻理解JS事件、异步、阻塞概念
3.八、理解浏览器组成部件,理解V8的概念
学习V8的解释-运行过程
在V8基础上,学会如何提升JS性能
学会使用chrome的profile进行内存泄露分析
学习方法:
提升对本身的要求
多看优秀框架的源码,特别是框架的架构模式、设计模式
多学设计模式
学习原生JS、DOM、BOM、Ajax
四、跨终端
理解混合APP的概念
理解网页在各种终端上的表现
理解网页与原生app的区同,重在约束
理解单页网站,特别要规避页面的内存泄露问题
入门nodejs,对其有个基础概念
五、工具
学会使用grunt进行JS、CSS、HTML 压缩,特别是模块化js开发时候的压缩
会用PS进行切图、保存icon
入手sublime、webstorm
学会使用chrome调试面板,特别是:console、network、profile、element
2、进阶:
一、性能
1.一、理解资源加载的过程
包括:TCP握手链接、HTTP请求报文、HTTP回复报文
1.二、理解资源加载的性能约束,包括:TCP链接限制、TCP慢启动
1.三、理解CSS文件、JS文件压缩,理解不一样文件放在页面不一样位置后对性能的影响
1.四、理解CDN加速
1.五、学会使用HTTP头控制资源缓存,理解cache-control、expire、max-age、ETag对缓存的影响
1.六、深刻理解浏览器的render过程
二、http及TCP协议族
2.一、学习http协议,理解http请求-响应模式
2.二、理解http是应用层协议,它是构建在TCP/IP协议上的
2.三、理解http报文(请求-响应报文)
2.四、理解http代理、缓存、网关等概念,指定如何控制缓存
2.五、理解http协议内容,包括:状态码、http头、长链接(http1.1)
2.六、学习http服务器的工做模型,对静态文件、CGI、DHTML的处理流程有个大体概念
三、安全性
XSS、SQL注入