学习前端,要从学习HTML和CSS开始着手。关于这部分的学习,网上可选择的资料就太多了,这里不一一列举,题主百度搜索栏搜索 HTML 教程,或者css 教程,就可找到相关资料。
接着是学习前端的一个难点、也是重点,就是JavaScript。
首先,初学一门语言,要秉承一个原则:“能动手的,尽量别吵吵”
另外,你需要一个能够从简到难的知识体系,一步一步跟下来。
下面是干货。
体系:上图。
说明一下这张图,题主提问如何有效学习JS,我这里理解为JS原生,所以关于框架、工作流的内容,没有具体展开,题主有兴趣可以自行搜索。
一、文档资料
红宝书(基础):https://book.douban.com/subject/10546125/
蝴蝶书(进阶):https://book.douban.com/subject/11874748/
阮一峰老师ES6: http://es6.ruanyifeng.com/
权威官方文档MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/
二、学习步骤
语法和基本类型
控制流
循环
表达式和操作符
日期对象
正则表达式
对象
上面这些搞定,就已经掌握了ES5的最基本的内容了,接着,我们就可以来操作页面了。毕竟这是一个看脸的社会,我们在搞页面的同时,还要注意一下页面的样式。
8.DOM操作
1>DOM树的概念
2>从DOM树取节点
3>操作这个DOM树(节点的添加、删除、修改)
4>访问节点(parentNode, children, 等等)
5>属性操作(id, className)
9. 事件处理
1>鼠标事件(mouseove)
2>键盘事件(keyup)
3>浏览器事件(load)
好,到这里,基本上静态页面,你就可以随意玩耍了。这里我们最好降上面思维导图提到的例子,都撸一遍。一是加深上面知识点印象,二是锻炼一下编程的逻辑思维能力。具体实现,网上有一堆堆的。(这里让题主自己搜索,是因为编码的一项重要能力,就是搜索)一定要谨记,多敲代码。
10. 面向对象:原型式继承、原型链
11. ES6:
ES6跟ES5还是有较大的区别,所以建议你能系统的过一遍,将上面的练习,改为使用ES6再来一遍
三、调试
1、JS编程的调试非常简单,打开浏览器控制台(我个人比较钟爱Chrome)。如图:
1> console标签:这个标签,可以打印我们开发时,JS引擎为我们抛出的异常。我们可以根据这个异常的信息,来分析错误原因。另外,我们也可以在代码中使用console.log() 输出程序运行时的环境变量信息。
2> 右红框1:错误提示。说明当前页有一个error发生,点击他,可以跳转到console来查看错误具体信息
3>右红框2:警告信息。提示了我们程序潜在的危险。
4> source,我们进行单步调试的地方。具体见下图
(四)、工作流(跟JS原生关系不大,不详细展开了)
webpack
gulp
上面的内容结束后,就可以进入前端框架的海洋中畅游了。
现在前端开发是一个很火很热门的行业,在这里为大家详细解释一下这个高大上的行业!
在国内大学课程里面,几乎没有前端开发这门课程,无非就是一些网页设计之类的课程,但那些课程无论是老师讲还是学生听,都是敷衍了事,这个我深有体会,我相信大家一定也有同感!所以,目前前端开发主要是通过自学,和参加正规的培训!对于培训来说,一般会分为初级、中级、高级等级别,因为凭我们自己很难掌握这些技能。但是自学是很困难的,毕竟是一个人自己摸索,网上看上去有很多视频可以学习,但是那些视频很多都是过时的,像js和h5这些想要自学根本学不会,更何况以后深入学习还要掌握框架构造!很多小伙伴就根本找不到学习的方向,最后白白浪费了自己的时间和精力!所以对于有条件的小伙伴,个人推荐最好是系统的学习一下!
接下来为大家介绍一下怎么零基础学习前端
基础知识:
1、HTML + CSS 这部分建议在 W3school 在线教程 上学习,边学边练,每章后还有小测试。 之后可以模仿一些网站做些页面。在实践中积累了一些经验后,可以系统的读一两本书,推荐《Head First HTML 与 CSS 中文版》,这本书讲的太细了,我没能拿出耐心细读。你可以根据情况斟酌。也可以去w3school和慕课网学习。
Javascript 要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,还是建议先在 W3school上学习。之后建议马上看《Javascript语言精粹》,JS是一门很混乱的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟粕,对于语言精华,应该深入学习。糟粕部分能看懂别人写的代码就行,自己就不用尝试了。对于有需要的小伙伴,推荐找一个培训班或者裙进行系统学习,下文会讲到呢 。
有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还需要进一步学习。
jQuery,简单易用,在W3school简单学习js后,直接上手jQuery即可完成一些简单的项目。学习方法也很简单,照着产品文档做几个页面就行了,不用面面俱到,以后遇到问题查文档就行了。框架可以帮你屏蔽浏览器的差异性,让你能更专注与Web开发学习的精髓部分。补充: 可以使用 Codecademy 学习 Javascript,jQuery,用户体验真的很好
传统web从业者为什么必须学习前端开发技能?——学习前端开发是晋升和加薪的捷径。传统web从业者,只要精通html+css,简单的JS效果,切切图,写写网站等就可以了,而如今的前端开发不再只是一个简单的网站,现在越来越多的云计算应用程序,比如web QQ接近我们经常使用的QQ的功能。以前用java 、J2EE、 .Net 、Object C等高级语言开发的应用程序也越来越走向web化、云端化。 BS架构应用程序已逐渐成为主流。时代变了,用最犀利的前端技术武装我们的大脑的时代已经来临!
那么我们应该怎么学习前端开发这门技术呢 ? 现在很多小伙伴喜欢在互联网上找视频资料学习网页制作,但是光看视频你是不可能学会网页制作的,没有人指导你,而且很多视频已经过时了 ,并没有什么用! 如果你真的想学习网页制作这门技术,你可以来这个裙,前面是伍思二,中间是一把一,最后是八溜一! 在这里有最新的HTML课程 免费学习 也有很多人指导你进步,不需要你付出什么 只要你有一颗学习的心就可以了。
下面是关于前端开发的一下杂谈 有兴趣的可以看看 :
1、想要跟上潮流,想要掌握最新技术,做高精尖人才升职加薪,必须学习前端开发最新技能,毕竟做前端的就得跟上时代的潮流,如果有小伙伴想要学习前端开发,个人认为潭州学院还是蛮不错的 !相比于线下的培训班,潭州无论是学费还是学习时间,都远远比线下的培训班更加实惠,而且只要有电脑,有网络就可以进行学习!
2、前端开发的就业方向及薪资情况。
记得有人说过,未来不再有互联网公司,因为未来所有的企业都会有互联网部门,而互联网世界离不开前端开发,像淘宝、阿里巴巴、支付宝、腾讯、京东、新浪微博等等大型的基于互联网的企业与产品,都需要优秀的前端高级开发人才。
不仅仅是互联网企业,随着O2O模式的越来越普及,传统企业越来越互联网化、云端化,前端开发人才需求越来越多,人才缺口高达上百万。
招聘网站上现在的前端开发工程师的平均薪酬已经达到了12926元,需求巨大,前景广阔,薪资还高。
3、你适不适合学习前端开发?
如果你已经有了传统web基础(css+div),那么是时候提升你的前端开发技能了…
如果你没有接触过web前端开发,那么如果你经常上网,冲浪,希望要了解互联网世界背后的故事,可以先从web前端开始了解,因为这是开启互联网世界大门的钥匙…
web前端JS课程的核心特点。
web前端课程的核心特点是:我们不仅仅要学会制作一个网页,一个特效。
更多的是我们要用web前端开发传统应用程序,我们做pc端,移动端,各种响应式,web 游戏,web 企业管理系统,web 移动程序,开发一个大规模项目,html5游戏,甚至用js开发传统高级语言才能做的数据库交互,不用后台语言,就靠我们js做后台,流行大趋势……
4、课程模块介绍。
未来需要什么,我们就需要学什么:
模块1:基础入门阶段;
模块2:web移动开发– html5、 css3、
模块3:html 5 游戏— html5 、canvas;
模块4:用js去做传统java 、.NET、 PHP才能做的数据库操作,服务器编程。— ajax 、node.js;
模块5:大型BS、云计算、项目开发(比如淘宝,京东)–面向对象、设计模式、大型项目分层架构思想(比如MVC,MVVM)、js框架、web前端架构、js组件;
5、学习方法、薪资目标。
【两大基础,内外双修】
两大基础:js基础(蹲马步,基础中的基础–函数,事件,语句等)、面向对象(基础)。内外双修:
【内】掌握面向对象编程思维,模块化编程思维,大型项目分层编程思维,大型项目团队如何合作;
【外】学习一些前辈总结出来的最佳编程实践:设计模式,比如能够保证全局唯一的单例模式,创造万物的工厂模式,模拟现实中介的中介模式,代理模式,以及所有业界都在谈,都在吹,都在用的依赖倒置,依赖注入,面向切面编程等。
结语:年前,随着iPhone的兴起,iOS开发火爆中国。当年的行动者,如今已经成为百万富翁!今天,随着HTML5等WEB前端技术兴起,前端开发的大潮已经袭来!赶快行动,让青春不留遗憾,占领行业制高点,主动权就再你的手中!
自学很辛苦,若你没有坚持下去的毅力,很难成功!
我给你推荐一个方法及学习路线,可以参考一下,看看自己是否能学进去:
自学方法:
1、作为一个初学者,你必须明确系统的学习方案,我建议一定有一个指导的人,全靠自己学,放弃的几率非常大,在你对于web前端还没有任何概念的时候,需要一个人领进门,之后就都靠自己钻研,第一步就是确定web前端都需要哪些内容,并且在多少时间内学完,建议时间6个月保底。
2、视频为主,书为辅。很多初学者在学习前端的时候非常喜欢去买书,但是最后的结果是什么?看来看去什么都不会写,所以在这里给大家提醒,书可以看,但是是在建立于你已经对于某个知识点有了具体操作的执行后,在用书去巩固概念,这样更加利于你对于知识的理解。
3、对于学习技术来讲,掌握一个学习方法是非常重要的,其实对于学习web前端来讲,学习方法确实很多都是相通的,一旦学习方法不对,可能就会造成“方法不对,努力白费”。其实关于这方面还是很多的,我就简单说个例子,有的人边听课边跟着敲代码,这样就不对,听课的时候就专心听,做题的时候就专心做题,这都是过来人的经验,一定要听。根据每个人的不同,可能学习方法也会有所出路,找到适合你自己的学习法方法是学习的前提。
4、不建议自己一个人瞎学,在我了解学习编程的这些人来看,从零基础开始学并且最后成功做这份工作的其实并没有几个,我觉得大部分原因就是因为他们都不了解web前端是干什么的,学什么的,就盲目的买书看,到处找视频看,最后看着看着就放弃了,所以我建议初学者在没有具体概念之前,还是找有经验的人请教一下,聊过之后你就会知道web前端具体是干什么的,该怎么学,这是我个人的小建议,可以不采纳。
自学路线:
第1阶段:前端页面重构(4周)
内容包含了:(PC端网站布局项目、HTML5+CSS3基础项目、WebApp页面布局项目)
第2阶段:JavaScript高级程序设计(5周)
内容包含:(原生JavaScript交互功能开发项目、面向对象进阶与ES5/ES6应用项目、JavaScript工具库自主研发项目)
第3阶段:PC端全栈项目开发(3周)
内容包含:(jQuery经典交互特效开发、HTTP协议、Ajax进阶与PHP/JAVA开发项目、前端工程化与模块化应用项目、PC端网站开发项目、PC端管理信息系统前端开发项目)
第4阶段:移动端项目开发(6周)
内容包含:(Touch端项目、微信场景项目、应用Angular+Ionic开发WebApp项目、应用Vue.js开发WebApp项目、应用React.js开发WebApp项目)
第5阶段:混合(Hybrid,ReactNative)开发(1周)
内容包含:(微信小程序开发、ReactNative、各类混合应用开发)
第6阶段:NodeJS全栈开发(1周)
内容包括:(WebApp后端系统开发、一、NodeJS基础与NodeJS核心模块二、Express三、noSQL数据库)
相关的视频教程如果你需要,可以加我的前端学习和交流群,里面有很多志同道合的前端小伙伴跟你一起学习,一起进步。
一 · 前端零基础入门
从前端基础入门知识学起,掌握基本的HTML+CSS网页布局,以及简单的JS特效,最终可以独立开发出前端PC网页。
注:CSS是一种定义样式结构如字体、颜色、位置等样式的语言,被用于为页面添加效果。需要全面了解CSS的基础语法、选择器、文本、背景、列表、盒子模型、浮动、定位以及网页的布局方式。
二 · 响应式开发与常用框架
使用H5+CSS3实现网页动态特效,通过Bootstrap框架学习,从原生编码过渡到框架使用,更高效的开发出适配各个设备的响应式网页。
注:需要全面了解主要包括CSS3的选择器、边框、圆角、背景、渐变、文本、字体、转换、过渡、动画、多列布局以及用户界面。
三 · 组件化思想开发电商网页
学会H5进阶内容:svg、canvas、H5存储、拖拽上传等,对JS、jQuery进行提升,学习企业开发模式——组件化开发,在企业项目团队中协同合作,实现“高内聚、低耦合”的网页搭建。
四 · 热门框架Vue开发WebApp
学习JS的最新版本ES6,前端流行框架Vue.js, 结合最流行的打包工具Webpack,掌握一个项目上线前的所有开发流程,真正成为一个能够满足企业需求的前端工程师。
你首先要搞清楚前端开发是做什么的,才好有方向去努力。如果你只是想切图(把PSD的图片写成html代码),我建议你还是先找几本书来看,书店里有很多HTML+CSS+javascript的书,就是一本全讲完的,挑你能看的懂的书看,不一定要多么有名气的作者,也不一定要外国作者的书,因为你现在刚刚开始学,需要基础。HTML标签很重要,先别研究HTML5,和CSS3。好好学习HTML和CSS,有空看一下简单的JS语法,写点简单的JS程序,如果你想深入了解JS更是有一大堆书值得学习。还有jquery,当然这是后话了。
然后你还要重新认识浏览器,你会发现浏览器是个神奇的东西,一般会把你弄奔溃。电脑上多装几种浏览器,从开始布局网页就要开始不断的测试。(浏览器兼容也是你要考虑的)
这样差不多你就可以入门了,至于以后的,代码风格和规范你要经常阅读别人的代码,思考人家为什么这样写的的好处,慢慢有自己的代码风格。