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 相关文章推荐
Knockout数组(observable)使用详解示例
Nov 15 Javascript
js中的getAttribute方法使用示例
Aug 01 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 Javascript
Jquery中CSS选择器用法分析
Feb 10 Javascript
javascript异步编程代码书写规范Promise学习笔记
Feb 11 Javascript
BootStrap和jQuery相结合实现可编辑表格
Apr 21 Javascript
JS类的定义与使用方法深入探索
Nov 26 Javascript
原生js实现倒计时--2018
Feb 21 Javascript
vue2笔记 — vue-router路由懒加载的实现
Mar 03 Javascript
JS运动特效之完美运动框架实例分析
Jan 24 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
Oct 16 Javascript
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
微信小程序实现缓存根据不同的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
用PHP开发GUI
2006/10/09 PHP
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
PHP 数组基础知识小结
2010/08/20 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
vue router demo详解
2017/10/13 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
2018/01/22 jQuery
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
Python subprocess库的使用详解
2018/10/26 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
口腔医学技术应届生求职信
2013/11/09 职场文书
鼋头渚导游词
2015/02/05 职场文书
人民检察院起诉书
2015/05/20 职场文书
教师读书笔记
2015/06/29 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
Nginx 常用配置
2022/05/15 Servers