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 相关文章推荐
jQuery toggle()设置CSS样式
Nov 05 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
Aug 06 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
Nov 28 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
Dec 03 Javascript
Node.js如何自动审核团队的代码
Jul 20 Javascript
JavaScript提高网站性能优化的建议(二)
Jul 24 Javascript
浅谈jQuery中事情的动态绑定
Feb 12 Javascript
js实现拖拽功能
Mar 01 Javascript
移动端利用H5实现压缩图片上传功能
Mar 29 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
通过实例解析json与jsonp原理及使用方法
Sep 27 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 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
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
js函数排序的实例代码
2013/07/01 Javascript
简单常用的幻灯片播放实现代码
2013/09/25 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
Python MySQLdb Linux下安装笔记
2015/05/09 Python
JS设计模式之责任链模式实例详解
2018/02/03 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
python3 爬取图片的实例代码
2018/11/06 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
python实现静态web服务器
2019/09/03 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
道路交通安全实施方案
2014/03/12 职场文书
出生公证委托书
2014/04/03 职场文书
不同意离婚上诉状
2015/05/23 职场文书