当前位置:首页 » 网页前端 » web前端知识体系图
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

web前端知识体系图

发布时间: 2022-07-18 02:54:24

① web前端从初级到高级如何系统化学习

你好,web前端的学习路线,按照顺序学习,从初级阶段开始学习就好了。

web前端学习路线

② web前端开发都包括哪些技术

  1. css,学好CSS是网页外观的重要一点,CSS可以帮助把网页外观做得更加美观。

  2. div布局: DIV元素是用来为HTML文档内大块的内容提供结构和背景的元素。

  3. 学习JavaScript的基本语法,以及如何使用。JavaScript编程将会提高开发人员的个人技能。

  4. 了解Unix和Linux的基本知识虽然这两点很基础,但是开发人员了解Unix和Linux的基本知识是有益无害的。

  5. html5+css3:移动端的网页制作。在移动设备开发HTML5应用只有两种方法,要不就是全使用HTML5的语法,要不就是仅使用JavaScript引擎,现在也是前端的一个趋势。

  6. 一些框架的应用:angular.js,node.js,bootsttap等框架的应用。

  7. 了解Web服务器对Apache的基本配置,并且掌握htaccess配置技巧

  8. web前端开发技术,还需要学习一些seo优化技术,因为前端是经常会和网站接触的。


③ web前端需要哪些技术

  1. 所有知识框架,那肯定是一个结构型的展现,就是一棵树。web前端的知识点非常多,也非常散,需要好几层结构来组织这个体系,否则就会显得很乱。那么如何组织、把谁和谁放在一块儿?这是真正值得我们去思考的,你也可以自己来思考一下这个问题。

  2. 在我总结的这个知识框架中,首先第一层我划分为:理论知识,类库框架,编码开发,运行环境。如下图:

首先,你要知道web系统虽然大部分是在浏览器下运行,但是js可能会被运行在node环境。

在浏览器环境下,最重要的两点是:web安全和性能优化。需要注意的纲要我都列出来了,如果想了解推荐两本书《白帽子将web安全》《高性能网站建设指南》

8. 其他

以上这些是全部的知识体系。如果你想成为一名合格的、让leader喜欢的程序猿,你除了知道这些知识之外,我觉得还需要以下几点:

  • 要了解敏捷软件开发流程(如SCRUM)和项目管理知识(如考取PMP),这也属于一种“软”知识吧;

  • 要学会在网上和别人交流(博客、qq群、开源项目),交流能让自己看到自己的不足;

  • 要学会自我反省和自我学习。就像我现在一样,试着自己总结一下属于自己的东西,随时反省随时进步

  • ④ 学习web前端,需要掌握哪些知识点以怎样的学习顺序

    第一阶段:
    HTML CSS:HTML进阶、CSS进阶、div css布局、HTML css整站开发。
    JavaScript基础:Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。
    JS基本特效:常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。
    JS高级特征:正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础。
    JQuery:基础使用悬着器、DOM操作、特效和动画、方法链、拖拽、变形、JQueryUI组件基本使用。
    第二阶段:
    HTML5和移动Web开发
    HTML5:HTML5新语义标签、HTML5表单、音频和视频、离线和本地存储、SVG、Web Socket、Canvas。
    CSS3:CSS3新选择器、伪元素、脸色表示法、边框、阴影、background系列属性改变、Transition、动画、景深和深透、3D效果制作、Velocity.js框架、元素进场、出场策略、炫酷CSS3网页制作。
    Bootstrap:响应式概念、媒体查询、响应式网站制作、删格系统、删格系统原理、Bootstrap常用模板、LESS和SASS。
    移动Web开发:跨终端WEB和主流设备简介、视口、流式布局、弹性盒子、rem、移动终端JavaScript事件、手机中常见JS效果制作、Zepto.js、手机聚划算页面、手机滚屏。
    第三阶段:
    HTTP服务和AJAX编程
    WEB服务器基础:服务器基础知识、Apache服务器和其他WEB服务器介绍、Apache服务器搭建、HTTP介绍。
    PHP基础:PHP基础语法、使用PHP处理简单的GET或者POST请求。
    AJAX上篇:Ajax简介和异步的概念、Ajax框架的封装、XMLHttpRequest对象详细介绍方法、兼容性处理方法、Ajax框架的封装、Ajax中缓存问题、XML介绍和使用。
    AJAX下篇:JSON和JSON解析、数据绑定和模板技术、JSONP、跨域技术、图片预读取和lazy-load技术、JQuery框架中的AjaxAPI、使用Ajax实现爆布流案例额。
    第四阶段:
    面向对象进阶
    面向对象终极篇:从内存角度到理解JS面向对象、基本类型、复杂类型、原型链、ES6中的面向对象、属性读写权限、设置器、访问器。
    面向对象三大特征:继承性、多态性、封装性、接口。
    设计模式:面向对象编程思维、单例模式、工厂模式、策略模式、观察者模式、模板方法模式、代理模式、装饰者模式、适配器模式、面向切面编程。
    第五阶段:
    封装一个属于自己的框架
    框架封装基础:事件流、冒泡、捕获、事件对象、事件框架、选择框架。
    框架封装中级:运动原理、单物体运动框架、多物体运动框架、运动框架面向对象封装。
    框架封装高级和补充:JQuery框架雏形、可扩展性、模块化、封装属于传智自己的框架。
    第六阶段:
    模块化组件开发
    面向组件编程:面向组件编程的方式、面向组件编程的实现原理、面向组件编程实战、基于组件化思想开发网站应用程序。
    面向模块编程:AMD设计规范、CMD设计规范、RequireJS,LoadJS、淘宝的SeaJS。
    第七阶段:
    主流的流行框架
    Web开发工作流:GIT/SVN、Yeoman脚手架、NPMer依赖管理工具、Grunt/Gulp/Webpack。
    MVC/MVVM/MVW框架:Angular.js、Backbone.js、Knockout/Ember。
    常用库:React.js、Vue.js、Zepto.js。
    第八阶段:
    HTML5原生移动应用开发
    Cordova:WebApp/NativeApp/HybirdApp简介、Cordova简介、与PhoneGap之间的关系、开发环境搭建、Cordova实战(创建项目,配置,编译,调试,部署发布)。
    Ionic:Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)。
    React Native:React Native简介、React Native环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API。
    HTML5 :HTML5 中国产业联盟、HTML5 Plus Runtime环境、HBuilder开发工具、MUI框架、H5 开发和部署。
    第九阶段:
    Node.js全栈开发
    快速入门:Node.js发展、生态圈、Io.js、Linux/Windows/OS X环境配置、REPL环境和控制台程序、异步编程,非阻塞I/O、模块概念,模块管理工具、开发流程,调试,测试。
    核心模块和对象:全局对象global,process,console,util、事件驱动,事件发射器、加密解密,路径操做。
    祝你学有所成!
    如果你对于学习前端有任何不懂的可以随时来问我,我给你提供一个非常不错的前端交流学习qun:前面是一一四,中间是一八八,后面是四九三一。有问题就在里面问我,这样你可以少走很多弯路,做起来有效率,记得多跟有经验的人交流,别闭门造车。如果没有比较好的教程,也可以管我要。

    ⑤ web前端都学习哪些内容

    这里根据行业变化和企业用人需求整理了一份web前端系统全面的学习路线,主要学习以下内容:

    第一阶段:专业核心基础

    阶段目标:

    1. 熟练掌握HTML5、CSS3、Less、Sass、响应书布局、移动端开发。

    2. 熟练运用HTML+CSS特性完成页面布局。

    4. 熟练应用CSS3技术,动画、弹性盒模型设计。

    5. 熟练完成移动端页面的设计。

    6. 熟练运用所学知识仿制任意Web网站。

    7. 能综合运用所学知识完成网页设计实战。

    知识点:

    1、Web前端开发环境,HTML常用标签,表单元素,Table布局,CSS样式表,DIV+CSS布局。熟练运用HTML和CSS样式属性完成页面的布局和美化,能够仿制任意网站的前端页面实现。

    2、CSS3选择器、伪类、过渡、变换、动画、字体图标、弹性盒模型、响应式布局、移动端。熟练运用CSS3来开发网页、熟练开发移动端,整理网页开发技巧。

    3、预编译css技术:less、sass基础知识、以及插件的运用、BootStrap源码分析。能够熟练使用 less、sass完成项目开发,深入了解BootStrap。

    4、使用HTML、CSS、LESS、SASS等技术完成网页项目实战。通过项目掌握第一阶段html、css的内容、完成PC端页面设计和移动端页面设计。

    第二阶段:Web后台技术

    阶段目标:

    1. 了解JavaScript的发展历史、掌握Node环境搭建及npm使用。

    2. 熟练掌握JavaScript的基本数据类型和变量的概念。

    3. 熟练掌握JavaScript中的运算符使用。

    4. 深入理解分之结构语句和循环语句。

    5. 熟练使用数组来完成各种练习。

    6.熟悉es6的语法、熟练掌握JavaScript面向对象编程。

    7.DOM和BOM实战练习和H5新特性和协议的学习。

    知识点:

    1、软件开发流程、算法、变量、数据类型、分之语句、循环语句、数组和函数。熟练运用JavaScript的知识完成各种练习。

    2、JavaScript面向对象基础、异常处理机制、常见对象api,js的兼容性、ES6新特性。熟练掌握JavaScript面向对象的开发以及掌握es6中的重要内容。

    3、BOM操作和DOM操作。熟练使用BOM的各种对象、熟练操作DOM的对象。

    4、h5相关api、canvas、ajax、数据模拟、touch事件、mockjs。熟练使用所学知识来完成网站项目开发。

    第三阶段:数据库和框架实战

    阶段目标:

    1. 综合运用Web前端技术进行页面布局与美化。

    2. 综合运用Web前端开发框架进行Web系统开发。

    3. 熟练掌握Mysql、Mongodb数据库的发开。

    4. 熟练掌握vue.js、webpack、elementui等前端框技术。

    5. 熟练运用Node.js开发后台应用程序。

    6. 对Restful,Ajax,JSON,开发过程有深入的理解,掌握git的基本技能。

    知识点:

    1、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,mongodb数据库。深入理解数据库管理系统通用知识及MySQL数据库的使用与管理,为Node.js后台开发打下坚实基础。

    2、模块系统,函数,路由,全局对象,文件系统,请求处理,Web模块,Express框架,MySQL数据库处理,RestfulAPI,文件上传等。熟练运用Node.js运行环境和后台开发框架完成Web系统的后台开发。

    3、vue的组件、生命周期、路由、组件、前端工程化、webpack、elementui框架。Vue.js框架的基本使用有清晰的理解,能够运用Vue.js完成基础前端开发、熟练运用Vue.js框架的高级功能完成Web前端开发和组件开发,对MVVM模式有深刻理解。

    4、需求分析,数据库设计,后台开发,使用vue、node完成pc和移动端整站开发。于Node.js+Vue.js+Webpack+Mysql+Mongodb+Git,实现整站项目完整功能并上线发布。

    第四阶段:移动端和微信实战

    阶段目标:

    1.熟练掌握React.js框架,熟练使用React.js完成开发。

    2.掌握移动端开发原理,理解原生开发和混合开发。

    3.熟练使用react-native和Flutter框架完成移动端开发。

    4.掌握微信小程序以及了解支付宝小程序的开发。

    5.完成大型电商项目开发。

    知识点:

    1、React面向组件编程、表单数据、组件通信、监听、声明周期、路由、Rex基本概念。练使用react完成项目开发、掌握Rex中的异步解决方案Saga。

    2、react-native、开发工具、视图与渲染、api操作、Flutter环境搭建、路由、ListView组件、网络请求、打包。练掌握react-native和Flutter框架,并分别使用react-native和Flutter分别能开发移动端项目。

    3、微信小程序基本介绍、开发工具、视图与渲染、api操作、支付宝小程序的入门和api学习。掌握微信小程序开发了解支付宝小程序。

    4、大型购物网站实战,整个项目前后端分离开发;整个项目分为四部分:PC端网页、移动端APP、小程序、后台管理。团队协作开发,使用git进行版本控制。目期间可以扩展Three.js 、TypeScript。

    ⑥ 一名合格的前端工程师的知识结构是怎样的

    第一,必须掌握基本的Web前端开发技术,其中包括:CSS、HTML、DOM、BOM、Ajax、Java等,在掌握这些技术的同时,还要清楚地了解它们在不同浏览器上的兼容情况、渲染原理和存在的Bug。
    第二,在一名合格的前端工程师的知识结构中,网站性能优化、SEO和服务器端的基础知识也是必须掌握的。
    第三,必须学会运用各种工具进行辅助开发。
    第四,除了要掌握技术层面的知识,还要掌握理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等等。
    可见,看似简单的网页制作,如果要做得更好、更专业,真的是不简单。这就是前端开发的特点,也是让很多人困惑的原因。如此繁杂的知识体系让新手学习起来无从下手,对于老手来说,也时常不知道下一步该学什么,这里的关键影响因素就是代码质量。CSS、HTML、Java这三种前端开发语言的特点是不同的,对代码质量的要求也不同,但它们之间又有着千丝万缕的联系。
    对于新手,在Web前端开发培训班学习一定要给自己制定一系列的学习和成长计划,制定的方法如下:
    第一、梳理知识架构
    梳理知识架构的目的在于,要了解清楚,哪些技术是前置、哪些技术是后继,哪些技术是深度、哪些技术是广度,按照这两个维度梳理好知识架构之后,才能准确地制定清晰的成长目标、高效的成长计划。
    第二、分解目标
    大抵可分解为三个阶段,包括:起步阶段、提升阶段、成型阶段。这三个阶段分别对应着不同的目标:起步、提升、成型阶段。
    成为一名合格的前端开发工程师,学习是必不可少的。

    ⑦ web前端需要掌握的哪些知识

    一个合格的web前端需要掌握哪些技术?
    最基础的自然是JavaScript,HTML和css这三种语言。

    首先了解下它们到底是什么。

    HTML是用户看到的网页的骨架,比如你会发现当前页面分为左中右三个部分,其中还填充了不同的文字和图片;每个子部分还会继续细分,比如当前页面的中间部分下方有输入框等等。

    CSS是网页展示的细节控制,比如你会发现有的文字是红底白色,有的子部分占了页面的二分之一宽,有的只占六分之一,有些部分需要用户进行某些操作(如点击,滑动)才会出现等等,这些就是有CSS来控制。

    JavaScript是负责捕捉用户在浏览器上的操作,并与后端服务器进行数据交换的脚本语言。当用户在前端进行点击,输入等操作的时候,会触动绑定了该动作的JavaScript脚本,然后JavaScript收集数据,调用后端的api接口,再将后端返回的数据交给HTML和CSS渲染出来。

    一个网页的HTML代码和CSS代码是可以直接在浏览器中查看的,你可以直接按F12,就能看到下图右侧的模块,左右侧红框就是代码与实际页面的对应关系。因此如果你看到某个网站的布局很不错,不妨点击F12,进行学习。

    前端框架
    然而,实际应用中,已经很少有正规的项目组直接用上述三种语言进行web 前端开发了,而是使用很多封装了这三种语言的框架,比如

    Vue.js

    ,angular,react native等等。它们是来自谷歌和Facebook的大神项目组,基于自己的经验,封装了原生前端语言,实现了更多更复杂更酷炫的功能。因此,可以说,学会使用这些框架,能达到事半功倍的效果。

    比如用了vue,它是自底向上增量开发的设计,其核心只关心图层,而且还可以与其他库或已存项目融合,学习门槛极其友好;另一方面,vue可以驱动单文件组件和vue生态系统支持的库开发的复杂单页应用。有了这个生态系统,可以说,vue是处在一个不断壮大,不断完善的欣欣向荣的状态。

    网络通信协议
    由于前后端分离的趋势,前端还需要了解很多网络通信协议的知识,这里不局限于http协议,因为据我的经验,有时候我们还会用到websocket等协议。因此,前端需要简单了解不同协议的特点以及使用方式,但是好消息是不用像学习计算机网络课程一样对每种协议的原理都了解的特别透彻,只要学会如何用前端语言发送这种协议的请求就够了。

    ⑧ web前端需要学什么

    这里整理了一份web前端学习路线的思维导图,需要掌握和学习的内容如下:

    第一阶段:专业核心基础

    阶段目标:

    1. 熟练掌握HTML5、CSS3、Less、Sass、响应书布局、移动端开发。

    2. 熟练运用HTML+CSS特性完成页面布局。

    4. 熟练应用CSS3技术,动画、弹性盒模型设计。

    5. 熟练完成移动端页面的设计。

    6. 熟练运用所学知识仿制任意Web网站。

    7. 能综合运用所学知识完成网页设计实战。

    知识点:

    1、Web前端开发环境,HTML常用标签,表单元素,Table布局,CSS样式表,DIV+CSS布局。熟练运用HTML和CSS样式属性完成页面的布局和美化,能够仿制任意网站的前端页面实现。

    2、CSS3选择器、伪类、过渡、变换、动画、字体图标、弹性盒模型、响应式布局、移动端。熟练运用CSS3来开发网页、熟练开发移动端,整理网页开发技巧。

    3、预编译css技术:less、sass基础知识、以及插件的运用、BootStrap源码分析。能够熟练使用 less、sass完成项目开发,深入了解BootStrap。

    4、使用HTML、CSS、LESS、SASS等技术完成网页项目实战。通过项目掌握第一阶段html、css的内容、完成PC端页面设计和移动端页面设计。

    第二阶段:Web后台技术

    阶段目标:

    1. 了解JavaScript的发展历史、掌握Node环境搭建及npm使用。

    2. 熟练掌握JavaScript的基本数据类型和变量的概念。

    3. 熟练掌握JavaScript中的运算符使用。

    4. 深入理解分之结构语句和循环语句。

    5. 熟练使用数组来完成各种练习。

    6.熟悉es6的语法、熟练掌握JavaScript面向对象编程。

    7.DOM和BOM实战练习和H5新特性和协议的学习。

    知识点:

    1、软件开发流程、算法、变量、数据类型、分之语句、循环语句、数组和函数。熟练运用JavaScript的知识完成各种练习。

    2、JavaScript面向对象基础、异常处理机制、常见对象api,js的兼容性、ES6新特性。熟练掌握JavaScript面向对象的开发以及掌握es6中的重要内容。

    3、BOM操作和DOM操作。熟练使用BOM的各种对象、熟练操作DOM的对象。

    4、h5相关api、canvas、ajax、数据模拟、touch事件、mockjs。熟练使用所学知识来完成网站项目开发。

    第三阶段:数据库和框架实战

    阶段目标:

    1. 综合运用Web前端技术进行页面布局与美化。

    2. 综合运用Web前端开发框架进行Web系统开发。

    3. 熟练掌握Mysql、Mongodb数据库的发开。

    4. 熟练掌握vue.js、webpack、elementui等前端框技术。

    5. 熟练运用Node.js开发后台应用程序。

    6. 对Restful,Ajax,JSON,开发过程有深入的理解,掌握git的基本技能。

    知识点:

    1、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,mongodb数据库。深入理解数据库管理系统通用知识及MySQL数据库的使用与管理,为Node.js后台开发打下坚实基础。

    2、模块系统,函数,路由,全局对象,文件系统,请求处理,Web模块,Express框架,MySQL数据库处理,RestfulAPI,文件上传等。熟练运用Node.js运行环境和后台开发框架完成Web系统的后台开发。

    3、vue的组件、生命周期、路由、组件、前端工程化、webpack、elementui框架。Vue.js框架的基本使用有清晰的理解,能够运用Vue.js完成基础前端开发、熟练运用Vue.js框架的高级功能完成Web前端开发和组件开发,对MVVM模式有深刻理解。

    4、需求分析,数据库设计,后台开发,使用vue、node完成pc和移动端整站开发。于Node.js+Vue.js+Webpack+Mysql+Mongodb+Git,实现整站项目完整功能并上线发布。

    第四阶段:移动端和微信实战

    阶段目标:

    1.熟练掌握React.js框架,熟练使用React.js完成开发。

    2.掌握移动端开发原理,理解原生开发和混合开发。

    3.熟练使用react-native和Flutter框架完成移动端开发。

    4.掌握微信小程序以及了解支付宝小程序的开发。

    5.完成大型电商项目开发。

    知识点:

    1、React面向组件编程、表单数据、组件通信、监听、声明周期、路由、Rex基本概念。练使用react完成项目开发、掌握Rex中的异步解决方案Saga。

    2、react-native、开发工具、视图与渲染、api操作、Flutter环境搭建、路由、ListView组件、网络请求、打包。练掌握react-native和Flutter框架,并分别使用react-native和Flutter分别能开发移动端项目。

    3、微信小程序基本介绍、开发工具、视图与渲染、api操作、支付宝小程序的入门和api学习。掌握微信小程序开发了解支付宝小程序。

    4、大型购物网站实战,整个项目前后端分离开发;整个项目分为四部分:PC端网页、移动端APP、小程序、后台管理。团队协作开发,使用git进行版本控制。目期间可以扩展Three.js 、TypeScript。

    ⑨ 零基础怎么系统学Web前端

    网站开发开发大致分为前端和后端,前端主要负责实现视觉和交互效果,以及与服务器通信,完成业务逻辑。其核心价值在于对用户体验的追求。可以按如下思路学习系统学习:

    基础知识:

    1.html + css 这部分建议在 w3school 在线教程 上学习,边学边练,每章后还有小测试。 之后可以模仿一些网站做些页面。

    2. javascript 要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,还是建议先在 w3school上学习。之后建议马上看《javascript语言精粹》,js是一门很混乱的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟粕,对于语言精华,应该深入学习。糟粕部分能看懂别人写的代码就行,自己就不用尝试了。

    对于习惯看视频学习的同学,以上内容也可以在优就业网站上学习。

    进阶:

    有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还需要进一步学习。

    1.css。截至今日(2015.12.08),天猫、淘宝、支付宝都已停止对ie6,7的支持,未来相信大多数网站都会停止对ie6,7的支持,ie8的市场份额也不像两年前那么高了(天猫即将停止对IE8的支持,2016.12.13),webkit内核已成为市场主流。对于css的学习,我推荐分三块:“基础概念”,“css2.1规范”,“css3规范”。必看 精通CSS(第2版) (豆瓣),看完这本书你应该对:盒子模型,流动,block,inline,层叠,样式优先级,等概念非常了解了。这本确实有些年头了,但基础概念部分讲述非常清晰,可以称之为经典。ie6,7相关的内容可以不看。css3的部分可以参考:CSS3实用指南 (豆瓣)。这本书同样有些老,只是最新出版的书中没发现有特别好的。

    2. javascript。上面提到内容还不足以让你胜任js编程。在有了基础之后,进一步学习内容包括:

    a) 框架。推荐 zepto,简单易用,在w3school简单学习js后,直接上手 zepto 即可完成一些简单的项目。zepto 源码简单清晰,也适合新手阅读。补充: 可以使用 codecademy 学习 javascript,zepto,用户体验真的很好(感谢 TonyOuyang )。最近比较热门的框架是React, VUE, Angular这些, 根据需要稍作了解即可。随着ie浏览器市场份额的下降,以及移动端的发展,标准原生js已经可以在实际项目中使用(目前还需要借助es5shim、babel等),重点还是ES5, ES6, ES7。

    b) javascript 语言范式 。这个名字可能并不恰当,只是我找不到可以描述“面向对象”,“函数式”这个两个概念的概念。javascript不完全是一个面向对象的语言,它的很多设计理念都有函数编程语言的影子,甚至说如果你不用面向对象,完全可以把它理解成一门函数式编程语言。javascript的很多语言特性,都是因为他具有函数式语言的特点才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要理解,维基网络,网络会是你的帮手,另外推荐《object oriented javascript》,应该有中文版。对与函数式编程可以参考这篇文章:JavaScript 中的函数式编程实践

    c) javascript 语言内部机制。必须弄清如下概念:js中变量的作用域,变量传递方式,函数的定义环境与执行环境,闭包,函数的四种调用方式(一般函数,对象的方法,apply,call),以及四种调用方式下,‘this'指向的是谁。这部分内容你会在《javascript语言精粹》中详细了解。

    d) dom编程,这个web前端工程师的核心技能之一。必读《dom编程艺术》,另外《高性能javascript》这本书中关于dom编程的部分讲的也很好。

    e) ajax编程,这是另一核心技术。ajax建议在网上查些资料,了解这个概念的来龙去脉,网络,维基网络上的内容就足够了。真正编程是很容易的,如今几乎所有框架都对ajax有良好的封装,编程并不复杂。另外,ajax未来几年会被 Fetch Standard 取代,也需要了解。另外关于xhr2,cors(跨站资源共享),formData文件上传,也需要了解。

    f) es5, es6。现在开发js大部分基于es5的,ie8以下通过es5-shim。但利用一些工具,现在已经可以直接写es6代码了,尤其在reactjs,nodejs类型的项目中。对于从es5,es6每个阶段js发生了哪些变化都需要系统学习,学习顺序建议是 JavaScript基础 -> es5 -> es6,越靠前的越重要。一些参考链接:ECMAScript 5 compatibility tableECMAScript 6入门ES5 « 张鑫旭

    3. html5。需要了解html都提供了哪些api,然后项目中用起来。这部分没有什么难理解的,关键在于能用html5解决业务问题,以及不支持html5的浏览器的降级方案。这部分体现了前端的一个思想:面向未来编程,尽早将新技术引入业务中来,而不是过分考虑兼容性问题,进而导致面向过去编程。

    再进一阶 · 代码层面:

    有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:1易维护,2可测试,3高性能,4低流量(移动端)。

    1.易维护。对于页面你该理解‘样式’,‘数据’,‘行为’三者分离,对应的当然就是css,html,js。对于js代码,你最好了解设计模式,重构,MVC等内容。

    2. 可测性。就是保证你的代码能沟通单元测试100%覆盖到所有分支

    3. 高性能。必读《高性能javascript》

    4. 低流量。移动端关注比较多,PC端现在可以不用太关注了

    再进一阶 · 工程层面:

    前端项目同样面临软件生命周期的各个环节,首先是代码管理,你必须学会使用svn和git。其次是代码的构建,如今前端代码构建已经不是简单的压缩一下了,需要进行依赖管理、模块合并、各种编译,必须要学会使用grunt、gulp、webpack、rollup等前端构建工具,以及前端模块管理的方式,amd,cmd,es6 mole 等等。

    然后呢?以上内容只是简单说了前端学习的顺序。前端工程师应该有的知识结构请参考这里:JacksonTian/fks · GitHub

    补充:

    对于前段开发,基本内容就这些了,可以根据自己的兴趣爱好选择性学习以下内容。

    1. 交互设计。大公司依然有专业人士搞这些,不过不懂交互的前端一定不是好前端。推荐《简约至上》。

    2. 后端。应该说前段工程师必须至少了解一门后端语言,不过如果爱好也可深入学习,入手难度比较低的应该是php了。这部分由可分为基于页面,基于框架两种。大型项目都是基于框架开发的,建议至少了解一个MVC框架,比如php的ci, yii, yaf 等,好还框架的设计思想都大同小异。如今NodeJs在大公司已经得到普遍的使用,推荐大家使用在Node上使用Koa框架做一些后端服务的开发。

    3. Android和ios开发。时至今日,前端的工作领域已经非常广泛,native的界面开发本质上也是前端开发,个大公司都面临着Native环境和web环境页面同时维护的问题,如果能够在技术上得到统一,将会有巨大的价值。对于学有余力的同学,应该了解Native开发的基本流程,至少了解到界面构建的技术。

    4. 如果你能够认真看到这里,说明你对前端有真爱,最后说一个编程习惯的问题,绝对是保你工作平安,少出故障。代码提交前必须做的三个事情:A. git diff(svn diff),检查所有变更;B. 跑一边单元测试;C. 手动运行一遍所有demo.