JavaScript总是给初学者这样一个“乱七八糟”的印象。相信很多初学者都在寻找一种轻松学习JavaScript的方法。我试图总结自己多年学习JavaScript的经验,希望能为以后的学习者探索一条“轻松学习JavaScript的方法”。JavaScript之所以给人这样的感觉,主要是因为它有以下几个特点:A:知识本身非常抽象和晦涩,比如:闭包、内置对象、DOM。B:里面有很多内容,比如函数库和对象库。C:混合多种编程思想。它不仅涉及面向过程的编程思想,还涉及面向对象的编程思想。同时,它的面向对象编程语言与其他编程语言(如:C++、JAVA、PHP)也不太一样。好像又是新的一样,让你怀疑自己所学的面向对象……D:苦学之后,好像和实际应用脱节了。通常js的基础学久了,变量、函数、对象也略知一二,但是涉及到公司开发项目,就很难上手了。因为公司在开发实际项目时通常会直接使用其衍生库,如:jquery、angular、boostrap、amaze、layui、ueditor等,而且这些库数量众多,各有难处。你不知道学哪一个,甚至怀疑自己是不是在学js。貌似js有多个版本,学不完……那么,js领域怎么学呢?是不是容易,甚至是好办?我总结了一些实际的js学习经验:首先要牢牢把握它的地位,切记切记,否则很容易犯“一叶障目不见泰山”的错误。不要学js久了才知道js是一门编程语言,就写代码,特性乱七八糟就完了,那样对学js不好。我们要时刻把握它的位置,准确的说,它在整个WEB中的位置:属于前端的核心,主要用来操作和调整DOM,修改DOM结构,达到修改的目的页面效果。用这个中心思想来指导后面所有的js学习,形成条件反射。必须有一个清晰的学习路线。这只能由曾经在那里为您提供参考的人提供。我的学习路线如下:A:js的基础部分,如:定义变量、函数、数组、字符串等,内置函数,内置对象等。B:js面向过程的编程思想,封装了各种功能,尝试用这些做一些常用的小功能,比如:标签页,自定义多选按钮,自定义播放器,3D幻灯片;C:js面向对象编程思想,尽量封装自己的一些对象,提供有意义的接口;D:学习以上内容,然后学习常用的库,这里必须学习jquery;E:学习基于Jquery的常用插件,如:bootstrap、Layer、富文本编辑器等。F:综合应用以上各种库编写实际项目的模板,多写几套。注意学习方法。我的学习方法总结如下:A:多买几本国外的js书,不要买那种20天就掌握的书。否则你很难掌握,更可怕的是:你买本好书自学3个月可能学到的东西,简直可以折腾你两年……书推荐(仅供参考)《JavaScript DOM编程艺术》《JavaScript权威指南》《javaScript DOM高级程序设计》《JavaScript设计模式》《锋利的jquery》尽量把书上的所有功能都练习一遍,不要一次。书读百篇,其义不言而喻。B:多角度学习领悟,充分调动所学,多角度发挥某项功能,比如:你以前是从面向过程的角度来做,现在是从面向对象的角度来做透视,或者继续做可以直接使用的插件,提供属性、方法等,尽量让你做的功能在实际项目中逐渐可用。这样做的好处是既综合运用所学知识,又具有实际意义。C:别那么有野心,哪怕是一个很小的手机机会也不要放过,比如做个optioncard。不要以为有类似甚至更好的插件就不需要自己写了。知识属于别人,不属于你。即使您知道如何使用它,也不会提高您的技术技能。你要多问问自己,如果你要我做,我该怎么做?D:脚踏实地的同时,眼光不要离实际太远,多看看网上已经出现的有效功能,让它激发你的学习热情,试着去学习模拟和调动你的知识要结合实际。E:多写总结。这种总结不仅包括源代码、展示效果截图,还有容易犯的错误和相应的解决办法,还有最后一两句简洁的总结性陈述。自己给自己写的总结,不仅仅是写完了,更多的是复习、改进、精简。做项目的时候,读一两句话就知道在说什么,而不是读长篇大论。F:建知识图谱可以让你学得更清楚,比如:http://www.phpkhbd.com/sky.html,你喜欢什么形式都可以,只要你印象深刻就行。注意:知识图谱也要经常修改修正,使其更加合理清晰。注意事项A:充分利用一切手段很多人总觉得时间紧迫,没有很多时间学习。我想说你学不会了。你不应该只是抱怨,而是要用一切方法去学习。要知道读书并不一定意味着学习。当你静静地坐在某个地方,想一想,总结一下,也叫学习。每当有灵感的时候,都可以记录下来,比如:记录在手机上,方便的时候记录在一个专门的地方。这叫做学习。B:最重要的是保持冷静。没有一蹴而就的成功,否则就不是成功,只能称为“侥幸”。不仅要老老实实去尝试实现每一个功能,还要精益求精,不断修正。这个过程是漫长的,也是检验一个人是不是人才的标准。C:注意培养信心。这个时候你不适合看很复杂很眼花缭乱的网页效果的源码,也不适合一来就学jquery、angular、vue、bootstrap等东西。这些内容包含很多深奥的知识,没有任何基础就直接学习,会严重打击你的自信心。这个时候你是弱者,需要的是培养信心,而不是相反,否则结局很可能是“作死”,离学业有成就很遥远了。D:只有向学得好的人学习,站在巨人的肩膀上,才能看得更远。E:不要浪费不断选择工具的时间。有很多js编辑工具。如果无从下手,建议使用:sublime,或者使用Hbuilder;很多公司的技术人员都用这些,你可以直接用这个来拉近你和别人的距离。他们之间的沟通问题。我也在用这个,感觉不错。综上所述,我觉得js学习之所以“杂乱无章”,是因为你太“聪明”了。如果你要求太完美,你的心智能力就会下降,很容易出现“障碍”。这时候,你就该“傻”了,不要把眼光放长远,“傻人有傻福”,只要做好今天就够了。一些不合理的学习方法和心态也会让你迷失自我:比如:急躁、高尚、意气风发,这些都会让你在“乱七八糟”的js面前深陷迷雾,无法自拔。此时,你应该重新定位自己,重新认识js,放下包袱,才能轻松上阵。倒空杯子再装新水……其实js才是前端的核心。影响力越来越大的互联网+,会渴求越来越多的js人才。只有经历过真正难忘的学习经历的人,才能造就真正的精英,赢得未来。
