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 相关文章推荐
模拟用户操作Input元素,不会触发相应事件
May 11 Javascript
JavaScript按位运算符的应用简析
Feb 04 Javascript
jQuery中:gt选择器用法实例
Dec 29 Javascript
javascript中的作用域和闭包详解
Jan 13 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
Feb 02 Javascript
jQuery AJAX timeout 超时问题详解
Jun 21 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
Jul 15 Javascript
JavaScript数值千分位格式化的两种简单实现方法
Aug 01 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
Dec 26 Javascript
vue-router实现组件间的跳转(参数传递)
Nov 07 Javascript
微信小程序收货地址API兼容低版本解决方法
May 18 Javascript
基于vue-cli3创建libs库的实现方法
Dec 04 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
php下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
PHP设计模式之原型设计模式原理与用法分析
2018/04/25 PHP
js动态生成指定行数的表格
2013/07/11 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
JavaScript实现抖音罗盘时钟
2019/10/11 Javascript
jQuery实现评论模块
2020/08/19 jQuery
使用vue构建多页面应用的示例
2020/10/22 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
python3实现windows下同名进程监控
2018/06/21 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
机电工程学生自荐信范文
2013/12/07 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
会计岗位职责
2015/02/03 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
结婚典礼致辞
2015/07/28 职场文书
python中对列表的删除和添加方法详解
2022/02/24 Python
MySQL创建管理HASH分区
2022/04/13 MySQL