JavaScript该如何学习 怎样轻松学习JavaScript


Posted in Javascript onJune 12, 2017

js给初学者的印象总是那么的“杂而乱”,相信很多初学者都在找轻松学习js的途径。我试着总结自己学习多年js的经验,希望能给后来的学习者探索出一条“轻松学习js之路”。js给人那种感觉的原因多半是因为它如下的特点:

A:本身知识很抽象、晦涩难懂,如:闭包、内置对象、DOM。
B:本身内容很多,如函数库、对象库就一大堆。
C:混合多种编程思想。它里面不但牵涉面向过程编程思想,又有面向对象编程思想,同时,它的面向对象还和别的编程语言(如:C++,JAVA,PHP)不大一样。就好像又是新的一样,让你对曾经学的面向对象产生了怀疑......
D:辛苦学习后又看似和实际应用脱节。通常学了很久的js基础之后,变量、函数、对象你也都略知一二,但一到公司开发项目的时候,却又难以下手。因为公司在开发实际项目的时候通常都是直接用它的衍生库,如:jquery,angular,boostrap,amaze,layui,ueditor等,而这些库又多如牛毛,同时还有自己的难点。让你都不知道该学哪个好,甚至都怀疑自己学的是不是js了,好像有多个版本的js一样,总是学不完......
那么,怎么才能在js领域内学的轻松甚至游刃有余呢?我总结了一些实战意义的js学习经验:

首先要紧紧抓住它的地位

      时刻都不能忘记,否则很容易犯“一叶障目不见泰山”的错误。不要学了很久就知道js是编程语言,就是写代码,而且特点就是乱七八糟就完了,那样是学不好js的。要时时抓住它的地位,确切的说是它在整个Web中的地位:它属于前端的核心,主要用来操控和重新调整DOM,通过修改DOM结构,从而来达到修改页面效果的目的。要用这个中心思想去指导后续的一切js的学习,并且形成条件反射。

要有一条清晰的学习路线

      这个只能是过来人给你提供参考了。我的学习路线如下:
A:js基础部分,如:定义变量、函数、数组、字符串等的处理,内置函数、内置对象等;
B:js面向过程编程思想,封装出各个函数,试着用这些去做一些常见的小功能,如:选项卡、自定义多选按钮、自定义播放器、3D幻灯片;
C:js面向对象编程思想,试着去封装一些你自己的对象,提供出有意义的接口出来;
D:学了上述的内容,然后学常用的库,这里必须学jquery
E:学基于jquery之上的常见插件,如:bootstrap,Layer,富文本编辑器等;
F:综合应用上面的多种库写实际项目的模板,多写几套。

注意学习方法

JavaScript该如何学习 怎样轻松学习JavaScript

我的学习方法总结如下:

A:多买几本国外的js书籍,不要购买那种20天精通之类的书。否则你是很难学通的,更可怕的是:本来你买本好书自学3个月可能学会的,它们硬是能折腾你两年......
书籍推荐(仅供参考)
《JavaScript DOM编程艺术》
《JavaScript权威指南》
《javaScript DOM高级程序设计》
《JavaScript设计模式》
《锋利的jquery》
争取把书上的功能都自己练习多次,不是一次。书读百遍,其义自见。

B:从多角度去学习和领悟

      充分调动你所学的东西,从多角度去做某一功能,如:以前你是从面向过程角度做的,现在改为从面向对象的角度再来做,或者继续做成可以直接使用的插件,提供属性、方法等出来。争取让你做的这个功能逐渐能使用到实际项目中来。这样的好处:既综合应用了你的所学,又能有实际意义。

C:一定不要好高骛远

      不要放过哪怕很小的动手机会,如做一个选项卡。千万不要认为有了类似的甚至更好的插件就不需要自己写了,知识是别人的,不是你的,你即使会用了也对你的技术技能水平没有任何提升。你要多问自己,如果要我来做,我该怎么做?

D:脚踏实地的同时,也不要脱离实际

      多看现在网上已经出现的效果好的功能,让它去激发你的学习热情,尽量去学着模拟,调动你的知识去和实际相结合。

E:多写总结

      这种总结不但包括源代码、显示效果截图,还应该很容易犯的错误和对应的解决方法以及最后一两句精简的结论性语句。对自己写的总结不是写完了就了事了,要多回顾、多改进、多精简。到做项目的时候,应该是看里面的一两句话就知道是讲什么了,而不要再去看长篇大论了。
F:构建知识导图

      这个可以让你越学越清晰,比如:http://www.phpkhbd.com/sky.html,你可以按你喜欢的任何形式去做,只要自己印象深刻就行。
注意:知识导图也应该是经常修改、修正,让它更合理、更清晰。

注意事项

JavaScript该如何学习 怎样轻松学习JavaScript

A:充分利用一切手段

      很多人总感觉时间紧,没有大块的时间学习。我要说你不会学了,你不应该只是抱怨,而是要利用一切手段去学习,要知道,不一定只有看书才叫学习。当你冷静的坐在某个地方,思考了一下,总结了一下,你也都叫学习,但凡有灵感,就可以记录下来,比如:记录在手机上,等方便了再记录在专门的地方。这都叫学习。
B:贵在坚持

      要沉的下心。没有一蹴而就的成功,否则那也不是成功,只能叫“侥幸”。不但要老老实实的把每个功能都试着去实现,而且要精益求精地不断去修正,这个过程是漫长的,也是考验一个人是否是人才的标准。
C:注意培养信心

      此时的你,不适合一来就看很复杂很炫的网页效果的源代码,也不适合一来就学jquery,angular,vue,bootstrap这些东西。这些内容包含了很多深奥的知识在里面,在没有任何基础的情况下直接学这些,会严重打击你的自信心。而此时你是弱小的,你需要的是培养信心,而不是反过来,否则结局很可能是“夭折”,离学有所成也就遥遥无期了。
D:多跟学的好的过来人学习

站在巨人的肩上,才能看的更远。
E:不要浪费在工具的不停选择上

      js的编辑工具很多,如果无从下手,建议使用:sublime,或者使用Hbuilder。很多公司里的技术人员都用这些,你直接用这个也减少了和别人之间的沟通问题。我也是用这个,感觉很好。
总结

JavaScript该如何学习 怎样轻松学习JavaScript

      感觉js学起来“杂而乱”的原因是因为你太“聪明”了,一开始就管的太宽,利害得失也计算的太精细。要求太完美则心里承受能力下降,很容易出现“障”。此时,你应该“笨”一些,不要考虑那么长远,“傻人有傻福”,只要做好今天就够了。一些不合理的学习方法和心态也让你迷失了自我,如:心浮气躁、眼高手低、好高骛远,这些都会让你在“乱七八糟”的js面前深陷迷雾、不能自拔。此时,你应该重新定位自己的位置,重新去认识js,放下包袱,方能轻松上阵。把杯子先倒空,才能灌新水......其实,js是前端的核心。影响越来越深的互联网+会渴求越来越多的js人才,只有经历过真正刻骨铭心的学习经历,才能造就出赢得未来的真正精英。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
层序遍历在ExtJs的TreePanel中的应用
Oct 16 Javascript
jQuery的ready方法详解
Nov 27 Javascript
js实现照片墙功能实例
Feb 05 Javascript
javascript密码强度校验代码(两种方法)
Aug 10 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
bootstrap网格系统使用方法解析
Jan 13 Javascript
js实现加载页面就自动触发超链接的示例
Aug 31 Javascript
用vue-cli开发vue时的代理设置方法
Sep 20 Javascript
小程序实现列表删除功能
Oct 30 Javascript
Layui Form 自定义验证的实例代码
Sep 14 Javascript
js中Function引用类型常见有用的方法和属性详解
Dec 11 Javascript
vue单文件组件无法获取$refs的问题
Jun 24 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
Jun 12 #Javascript
利用Jasmine对Angular进行单元测试的方法详解
Jun 12 #Javascript
原JS实现banner图的常用功能
Jun 12 #Javascript
手把手搭建安装基于windows的Vue.js运行环境
Jun 12 #Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
Jun 12 #Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 #jQuery
ionic中的$ionicPlatform.ready事件中的通用设置
Jun 11 #Javascript
You might like
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
php面向对象的方法重载两种版本比较
2008/09/08 PHP
PHP中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
php学习笔记之面向对象
2014/11/08 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
Javascript 继承实现例子
2009/08/12 Javascript
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
python实现RSA加密(解密)算法
2016/02/17 Python
python实现二叉树的遍历
2017/12/11 Python
python计算两个地址之间的距离方法
2018/06/09 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
python实现简易学生信息管理系统
2020/04/05 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
企业内控岗位的职责
2014/02/07 职场文书
大学生作弊检讨书
2014/09/11 职场文书
2014年采购工作总结
2014/11/20 职场文书
工作失误检讨书
2015/01/26 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题