学习每一件事情时,我们都应该具有一种思维技巧,学习JavaScript也不例外。
我们在学习JavaScript,或其他任何编码技能的时候,往往是因为这些拦路虎而裹足不前:
有些概念可能会造成混淆,尤其当你是从其他语言转过来的时候。
找不到时间(有时是动力)学习。
很容易忘记已经理解了的东西。
工具多又在不断变化,所以不知道从哪里开始。
幸运的是,这些拦路虎是可以被识别,并消灭的。在这篇文章中,我将介绍六个思维技巧来帮助你更快地学习JavaScript,并成为一个更快乐、更富有成效的程序员。
1.不要让未来的决策阻止你现在前进的方向
很多人学习JavaScript,问的第一个问题往往是“我应该使用哪个框架?”。但是,如果你还没有掌握最最基础的JavaScript,那这显然是一个错误的问题。你将你所有的时间用来研究不同的框架,于是,你开始停滞不前。
帮助摆脱这种陷阱的方法之一是画一个你需要学习的路线图。例如,要想成为一个前端开发者,你的路线图可能是这样的:
进一步分解的话,你可以做一个只有HTML和CSS的功能性web页面。然后像这样一步步列出每个步骤,那么对于现在应该专注于做什么,就一目了然了。你也不会浪费时间去担心应该以后操心的事情。
如 果你觉得这种路线图很有用,那么可以看看我以前写的《learning road map for becoming a front-end developer》,里面介绍得很详细。(注:对于学习JavaScript的路线,你也可以参考学习Javascript的8张思维导图这篇文章)
2.不要让自信诱骗你忘事
快速了解一个概念,也许是学习JavaScript的道路上最影响你进步的事情之一。下面请允许我解释一下。
当 你读到某些东西,你觉得的确如此的,那么很可能就会直接跳到下一个内容。然后你觉得接下来这个内容也非常浅显易懂,于是继续往下看。但很快,你会 发现你已经忘记了前面自认为已经掌握的内容,所以只能回过头去温习。你快速地浏览了一遍,感觉又明白了,然后继续前进。但是你又发现自己忘记了别的东西。 你一直处在这个循环中,直到最终迷失了自己。你不由地气馁,想着那先休息一下吧,然而当你休息完了再回来的时候,你发现你已经忘记了所有的内容。
解决这个问题,也很简单,只需要两步:
限制一次学习的量。
实践——实际编写代码。
当你去学习一个新概念的时候,一定要试用它,摆弄它,熟悉它,甚至将它和其他概念结合起来。而且实际输出到示例代码中非常重要,因为这能帮助你消化吸收它。此外,限制一次学习的量,有助于记住资料,道理也很简单,东西越少越好记。
虽然这种学习进程会让你感觉所需的时间更多,但实际上恰恰相反,因为你不再需要走那么多的回头路。我也是经过了很多次惨不忍睹的教训才明白了这个技巧。
3.用正确的心态去做练习
很多人认为反复的练习特别无聊,所以他们通常会选择跳过或尝试走捷径。如果你快进JavaScript练习,那么最终反而需要更多的学习时间。试着让练习变得令人感兴趣,这样是不是就不会那么抗拒呢?
试着转变心态:
如果让你学习一个新的JavaScript概念,却不能试试,会怎么样?你是什么感觉?从我个人而言,我会特别懊恼。这就像一个孩子得到一个新的玩具,却不能玩一样。
当你学习JavaScript中一些新内容的时候,试着将它当作新玩具,新车,新鞋,或者其他任何你有兴趣尝试的东西。然后不要将练习当作工作,要将练习当作是玩耍。用新技能去尝试一些很酷的东西。让你自己都不由的惊叹。然后显摆给你的朋友看。
用一种游戏的心态,你会学得更快,记得更久,拥有更多的乐趣。
4.写代码的时间魔法
在学习JavaScript中最常见的问题是,找不到时间写代码。但是,与此同时,却有大把大把的时间浏览各种网站,如Facebook,YouTube,维基百科和Reddit等。
我 有好几次,一开始只是想打开Facebook,看一小会,然后不知不觉就发现已经看了几个小时。这是怎么发生的呢?或许正是因为我并不打算看很长 时间。万事开头难,一旦开了头,后面陷进去就变得容易多了。但是如果有人问我,是否愿意花时间在Facebook上,我会坚决地说不,因为我本身时间就不 够用。然而,只允许看一会会时间往往更容易接受,然后深陷其中。
好消息是,你也可以利用同样的心理来学习写代码。一开始不要想着要编码几小时,因为你永远找不到这么多的时间。就告诉自己你要去写3分钟的代码。这样你永远也不用愁挤不出时间了。
5.思考得更慢,学得更快
这听起来貌似有悖常理,下面我会用一个小故事解释。
我的一个朋友曾经对JavaScript的某个功能感到困惑。于是,我让他详细地说一遍哪些是他知道的,然后给他解释他感到困惑的那部分。不过,当他检查代码片段的时候,我注意到有一段代码,他说得非常仓促。
“等一下!”我说, “慢点讲,每一步都详细地说一下。”
我的朋友继续给我做代码发生了什么的全面总结。
我只好再次叫住他。 “你还是太仓促了。再试一次,但这次,我希望你能从字面上去检查每一行代码,告诉每一行的代码都发生了什么。”
这次,我的朋友终于能够很好地解释代码中正在发生什么。问题的关键是,他终于可以一步一步地检查了代码片段,而不是囫囵吞枣想要一次性理解所有代码。
在类似于这样的情况下,思考得更慢实际上能让你学得更快。
6.首先用简明的语言来写复杂的代码
如果碰到一段复杂的或你不熟悉的代码,那么先用通俗易懂的语言写出来。这样一来,你就可以在写代码之前明确地知道你想要代码做什么。这么做有两个好处:
代码更易写,因为你不需要总是停下来想,你想要它表现什么。
在bug发生之前就能捕捉到,因为你对代码应该做什么有一个明确的概念。
结论
我们已经讨论了一堆如何更快地学习JavaScript的方法,而且你也可以将这些技巧应用到其他的技能上。下面来回顾一下:
不要担心以后会做什么决策,先好好深入学习。
将新技能当作玩具一般快乐地练习。
以小承诺的方式找时间来写代码,就像你一开始安慰自己只逛一小会时间网站。
慢下来,步子迈的越小,学得越快。
对了,你是怎么学习的?你有什么好的技巧吗?或者,你认为我说的全是一派胡言,唯一的学习途径就是一天12小时地投入进去?无论是什么,欢迎不吝点评。
推荐阅读:
相关推荐
JavaScript课程教学大纲旨在培养学生在软件工程专业中的前端开发技能,主要涵盖了JavaScript语言基础、与CSS的交互、DOM编程、表单验证以及动画效果等多个方面。这门课程是专业必修,理论与实践相结合,旨在提升学生...
这些知识点的学习将帮助学生建立起对JavaScript的全面理解,并具备实际项目开发的能力。通过理论与实践相结合的方式,可以提升解决问题和创新思维的能力。在不断发展的Web技术领域,深入学习和掌握JavaScript将是...
### JavaScript Ninja修炼秘籍 #### 一、导言与背景介绍 《Secrets Of The JavaScript ...通过学习本书,读者将能够更好地理解JavaScript的核心概念,并掌握一系列实用的技巧,从而在JavaScript领域达到新的高度。
这个压缩包包含了JavaScript学习的三个关键组成部分:源码、教材和PPT,对于深入理解和掌握JavaScript编程至关重要。 源码是理解任何编程语言的最直接方式,这里的JavaScript源码可能包括了实际项目代码、示例代码...
这需要开发者具备一定的算法基础和逻辑思维能力。 6. 具体实现: 打飞机游戏的实现包括飞机的绘制(可能涉及Canvas API)、子弹的发射、敌机的生成与移动、碰撞后的效果处理等。每个部分都需要编写相应的JavaScript...
在面试中,面试官通常会要求你现场编写代码,解决特定的问题,这就需要你具备良好的编码技巧和逻辑思维能力。通过反复练习,你可以提高这方面的能力。此外,了解时间复杂度和空间复杂度的概念也很重要,它们可以帮助...
JavaScript,作为一种广泛应用于Web开发的脚本语言,已经成为现代网页和应用程序的核心技术。"JavaScript高级教程"涵盖了这个语言...通过深入学习和实践,你可以掌握构建复杂Web应用的能力,并具备与时俱进的编程思维。
课程内容应更加注重实践性,结合实际项目让学生动手编写JavaScript代码,增强其解决实际问题的能力。同时,可以引入在线编程环境,让学生随时随地进行练习,提高学习效率。 授课方式上,可采用混合式学习,结合线上...
在前端开发进阶阶段,需要掌握面对对象开发思维、JavaScript 面对对象、JavaScript 闭包、作用域链、原型链等高级特性,并学习常用的设计模式、用法原生 JavaScript 的原理实现框架封装、jQuery 框架封装原理、...
- 通过参与各种工程项目的设计与实施,学生能够更好地掌握JavaScript在Web前端开发中的应用技巧。 - 实践过程中注重培养学生的创新思维能力和解决实际问题的能力。 综上所述,《JavaScript项目式实例教程》课程旨在...
通过实际操作这些源代码,你将更好地掌握HTML的结构化思维,JavaScript的动态逻辑,以及ASP的服务器端编程技巧。 总的来说,《网页编程组合教程HTML+JavaScript+ASP》提供了全面的学习资源,不仅有理论讲解,还有...
【前端开发】是计算机科学领域的一个重要分支,主要负责网页和Web应用程序的用户界面设计、交互逻辑以及数据处理。在互联网行业中,前端开发者是构建网页和应用的第一道防线,他们用HTML、CSS和JavaScript等技术将...
本资源“Java全栈知识体系思维导图”旨在为初学者提供一个清晰的学习路径,帮助他们全面掌握Java相关的技术和应用。以下是该思维导图所包含的主要知识点: 一、Java基础 1. **Java语法基础**:包括变量、数据类型、...
这不仅可以展现你的逻辑思维能力和问题解决技巧,还表明你具备高效处理复杂问题的能力。对于使用JavaScript的开发者来说,理解和应用这些概念将有助于在面试中脱颖而出,提高成功获得理想职位的机会。
这种类型的游戏通常具有易于理解和实现的逻辑,可以帮助学习者更好地掌握JavaScript的基础知识和编程技巧。 JavaScript游戏的核心组成部分包括以下几个方面: 1. **事件处理**:JavaScript通过监听用户在页面上的...
通过学习JavaScript,初学者可以掌握基础的编程思维,为学习更复杂的编程语言如Perl、C、C++或Java打下坚实基础。JavaScript的一些核心概念,如对象和原型,对理解面向对象编程有极大的帮助。 在接下来的教程中,...
完成这样的作业需要学生具备良好的编程习惯、代码组织能力和问题解决技巧。他们不仅要考虑代码的正确性,还要注重代码的可维护性和性能优化。同时,由于这是一个期末大作业,学生的创新思维和设计感也尤为重要,如何...
在本项目中,你将学习如何使用纯JavaScript技术来创建一...如果你已经具备了JavaScript基础知识,那么这个项目将帮助你巩固并提高实战技能。通过实际编码,你可以更深入地理解JavaScript在构建互动性网页应用中的力量。
学习编程需要孩子们具备一定的数学和逻辑思维能力,如变量、循环、条件语句等等。 9. 学习编程可以帮助孩子们提高创造力 编程可以帮助孩子们提高创造力,通过不断地尝试、探索、创新,寻找解决问题的最佳方案。 ...