前几天看到这样的问题
先说问题吧:感觉前端涉及到的东西太多了,自己也很浮躁,看了挺多书,可是代码缺敲得却不多.技术菜,又什么都想学,比如现在纠结要不要先学 sCSS 或者 php 或者 angularjs,backbone 等框架,还是深入学习 html5+css3?
然后看了一些招聘要求发现又有一些坑要填,经常处于焦躁状态,感觉心好累,然后心一累,又知乎上看各种打鸡血的东西,这鸡血一打多,头脑就热起来了,就想毕业去北京闯一闯了,但又好担心去了找不到工作,想问下前辈们,要找到 3000 以上的前端工作的话,我得在哪方面多准备?
计算机行业很多领域都符合 82 定律,也就是 20% 的东西的使用频率占到 80%,所以很适合囫囵吞枣,因此我们的重点就是把这 20% 学起来,而首先要做的就是把这 20% 的东西找出来.在我看来前端这 20% 的东西大概就是常用的 html 标签,css 的盒子模型,基本的原生 js,以及熟练使用 jquery,ajax,常见浏览器的兼容.拿下这些东西意义非凡,一方面证明你适合做前端这份工作,另一方面这些技能能让你找到一份工作.让你能够从容地去学习剩下的 80%.总之就是专心对付最重要的东西,那些什么 less,sass,angular 这类的东西,当你把我之前说的基础打好之后,学习起来畅通无阻,随学随用.最后我觉得最难的就是实践,只有实践才能学到真正的技术,新人很难参与一些有价值有意义的项目,没有这些项目又很难成长,所以自己有项目可参与应该珍惜,没项目应该多造一些有价值的轮子.
html 的语法,格式,常用的标签极其作用,理解标签的嵌套,学习使用 firefox+firebug 或者 chrom 的调试工具,能够使用这些工具调试 html,css,js,断点调试,抓包
如何引入 css,js(有多少种方法,各种方法有什么区别),理解 id,class 属性的区别,学会 css 的常用选择器,理解盒子模型(padding,margin,border,width,height,),css 坐标系,css 布局(position 的 absolute,relative ,fixed,static),css 浮动(float:left,right )和清除浮动(clear),display:inline,block,inline-block,flex
js 的执行顺序,基本的编程基础(变量,运算,流程控制,数组,调用函数,自定义函数,对象),json,js 的 dom 操作,js 的事件机制(委托,绑定,监听,冒泡和阻止冒泡,兼容性),了解 ajax 的 xmlhttprequest 及其创建方法(多浏览器兼容),跨域,明白其工作原理,评论里有朋友说 http 协议,确实是我疏忽,http 协议是 web 的根本,所以其重要性再怎么强调都不为过,熟悉 http 协议对 web 开发的方方面面都有不少帮助,比如理解及使用 ajax,比如调试程序,抓取数据等等,不过 http 是一个很杂很细的东西,内容很多,我建议也囫囵吞枣式地学习,先了解,熟悉简单的,以后在项目中遇到深入点的再进一步学习.
使用 jquery 解放你的开发工作,学会 jq 选择器,修改属性,监听事件,修改 css,学会写 jquery 插件.这一步我觉得可以和第 3 步穿插学习
搭建服务器,弄个傻瓜服务器比如 wamp,phpstudy 等软件,可以一键建立一个 apache+php+mysql 的服务器,前期可以把你的静态页发布到本地服务器,使用本地服务器配合 ajax 学习.
学点服务器端,建议 php+mysql.服务器端脚本其实很简单,总结起来就是 4 个东西:SESSION,COOKIE,Request,Response,结合 http 协议理解如何从 Request 取得数据,经过处理后 Response 给客户端.这就是整个过程.至于 mysql 也就是基本的 sql 语句.如何使用 php 进行 CURD 操作.这块其实很难总结,基本上以实现业务为主.
来点框架,理解 MVC 模式,推荐个比较流行的 MVC 框架:ThinkPHP,简洁好用不解释,国人弄的,文档和例子什么的非常丰富.写了乱七八糟一堆,大家凑合着看,建议从 1 往 7 学习.
我有一个前端学习交流 QQ 群:328058344 如果你在学习前端的过程中遇到什么问题,欢迎来我的 QQ 群提问,群里每天还会更新一些学习资源.禁止闲聊,非喜勿进.
来源: http://geek.csdn.net/news/detail/251694