本人现职护士,想进军前端,求个靠谱的师傅指导或者求指出一条学习的路线,跪谢大家伙了!

去买一本书,去准备一台电脑,跟着书上的学,忘掉大神们高屋建瓴的规划,对你毫无意义。你只需要开始,不要多想,只管开始。
亚马逊本人现职护士,想进军前端,求个靠谱的师傅指导或者求指出一条学习的路线,跪谢大家伙了!

还有,不跪行吗?

■网友
level 1
首先你要对js的基础知识进行系统的学习,脑海中先有一幅知识蓝图。我们现在说的js其实包含三部分:ECMAScript规范、DOM规范、BOM规范,你要知道这三部分都有哪些内容。其中ECMA规范定义了js作为一门编程语言的标准,包含变量基本类型、对象、函数、作用域、运算符、流程控制语句等。DOM规范则规定了js如何与网页进行交互,包括访问与操作DOM节点、不同类型的节点都有哪些特性和方法、事件的监听与传播等。BOM规范定义了js如何与浏览器进行交互,包含window对象、location对象、navigator对象、history对象等。
基础知识的学习最好就是看书了,像犀牛书、蝴蝶书、高程,都是经典的教材。
当你掌握了以上基础知识的时候,差不多能写出像弹出、移动、删除节点等动效,你体会到了所谓交互其实就是用DOM操作来模拟出各种“假象”。这个时候你会开始接触jquery,或许接触的还更早一些。你开始逐个尝试jquery封装好的各个API,发现用jquery书写代码确实简单了很多。jquery的学习和原生js的学习其实也没必要有严格的先后顺序,我一开始也是穿插的来学的。你只要清楚哪些是js的内容,哪些是jquery给你包装出来的快捷方法就行。
尝到jquery的甜头之后,你会发现一个大宝藏,那就是jquery插件。你要用到的各种组件网上基本上都有现成的,你开始在网上扒一些插件下来,自己连猜带蒙改改代码,改出一个自己能用的版本。你这个时候也会开始用jquery-ui,这一套比较完善的插件库,能解决你很多需求。
这就是第一阶段,你对js有了一个基本了解,自己摸索着能改改别人插件,差不多能写出一个完整的“玩具页面”了。
level 2
在上面的基础上写了一段时间代码后,你会感觉到自己的调试效率很低。具体表现为,你写的代码有时候总是运行不出自己想要的结果,代码报错了你却怎么调也调不对。这时候你就要对js进行更深一轮的理解了,你要对js中的一些概念做到真正的理解,比如作用域链、原型、闭包。比如你要知道js运算的自动转化机制,为什么2+“1”是string,而2-“1”是number。typeof和typeof()前者是操作符后者是内置函数。如何判断一个变量是否是数组,等等这些细节问题,都是有对应的概念和原理能解释的,你要做到知其所以然。
这个阶段你会开始与服务端进行交互了,原生的ajax要理解并能手写,jquery的ajax要熟练使用。你会遇到ajax的跨域问题,开始掌握发送跨域请求,知道JSONP是个什么东西,从原理上。
在改了无数别人的插件后,你需要开始自己动手写一个jquery插件了,因为别人的难免有坑,自己写的才最可控。另外对于自己的逻辑和代码组织能力也是一个锻炼。自己尝试写插件吧,从简单到复杂。比如一个弹框插件,要具备可以配置宽高、标题、内容、回调函数等功能。或者是一个焦点图滑动插件,不要看别人的代码,自己完全从头开始构思。
当你能理解jquery的插件机制,并能自己写出项目所需的插件时,你的js水平又上了一个等级。做到以上这些,你基本可以应付一个项目的前端需求了。也就是说,你写出来的页面不再是玩具了,可以上线使用了。
level 3
接下来你应该开始接触一些更复杂的系统了,就是所谓的“富客户端”,前端代码量上了一个档次,一个js文件动辄成白上千行。你会发现js代码还像以前那样从上往下堆着,太乱了。你写的ajax返回的数据越来越复杂,用拼字符串的方式进行局部更新太费力了。
这个时候你会开始用前端模板引擎来进行局部更新,比如handlebars、artTemplate等等。你需要熟练使用他们,并尝试去理解这些模板引擎的运行机制。


推荐阅读