更快学习 JS 的 6 个简单思维技巧
编译:伯乐在线/cathyhu916
当人们尝试学习 JavaScript , 或者其他编程技术的时候,常常会遇到同样的挑战:
-
有些概念容易混淆,特别是当你学习过其他语言的时候。
-
很难找到学习的时间(有时候是动力)。
-
一旦当你理解了一些东西的时候,却很容易再一次忘记。
-
可以使用的工具甚多且经常变化,所以不知道从哪里开始入手。
幸运的是,这些挑战最终都可以被战胜。在这篇文章里,我将介绍 6 个思维技巧来帮你更快的学习 JavaScript ,让你成为一个更快乐更多产的程序员。
1.不要让将来的决定阻止你进步
对于很多学习 JavaScript 的人来说,他们问的第一个问题是选用哪个框架(现有框架非常多)。但是如果你还不熟悉原生的 JavaScript ,那这就是个不该问的问题。你会花费你全部的时间去查询不同的框架并且不会取得任何进展。
走出这个让人犹豫不决的陷阱的一个方法是要有一个学习的路线图。比如,要想成为一个前端开发人员,你的路线图大概是这样的:
把学习计划进一步拆分,你可以只用 HTML 和 CSS 做一个功能性的网页。了解其中的具体步骤,你会很容易知道现在需要关注的东西,因此不会浪费时间担心将来要学习的内容。
如果觉得此文章有用的话,更多详情请访问 learning road map for becoming a front-end developer 。
2.不要让自信把你骗进遗忘陷阱
在学习 JavaScript 的过程中,快速理解某个概念可能是最不利于你进步的一件事。请允许我解释一下。
当你理解一些东西并且觉得它言之有理的时候,你会倾向于立即学习下面的内容。可能你会理解下面的内容并继续向下学习。但是很快,你会发现你已经忘记了之前所学到的一些东西,因此你需要重新复习。你很快的瞥一眼之前的概念更新下记忆然后继续往后学习。但是,这次你又忘记了其他的一些东西。你会不停的反反复复直到你发现你完全的迷失了方向。你会感到气馁,休息一下后,你准备重新开始,却发现已经忘记了所有的东西。
幸运的是只需要简单的两步就可以解决这个问题:
1. 限制一次学习的内容总量
2. 认真的练习——写代码
当你学习一些新的概念的时候,一定要多尝试,多应用,多熟悉,甚至将它与其他的概念相结合。在你学习的示例中写代码非常重要,因为这有助于你深刻理解它。同时,限制一次学习的内容总量有助于你记住这些内容,因为记住较少的内容会更容易。
这个过程可能会比仅仅通读一遍就学习其它内容要花费更多的时间,然而实际上它需要的时间更少,因为你不需要来回反复。经过多次尝试,我终于掌握了这种方法。
3. 用正确的心态进行实战练习
很多人认为练习是件重复而又无趣的事情,所以他们常常会跳过练习试着走捷径。如果你试图在 JavaScript 的练习上走捷径,实际上你需要更长的时间来学习它。但是,怎样才能让练习变得更有趣,让你愿意去做练习呢?
尝试转换一下思路:
如果你学了一个新的 JavaScript 的概念却无法尝试,你会有什么样的感受?对于我个人而言,我会觉得懊恼,特别是在我花费了时间去理解它之后。就像一个孩子有了一件新的玩具却不能玩一样。
当你学一些新的 JavaScript 的知识时,试着像对待一个新玩具、一辆新车、一双新鞋或者其它你有兴趣尝试的东西一样。像玩一样练习,而不是像工作一样练习。用新技能做一些很棒的事情。给自己一些惊喜同时展示给你的朋友。
保持娱乐的心态,你会学的更快,记住的时间更长,而且你会觉得更有趣。
4.用Facebook的窍门找时间编程
人们常见的问题之一是没有时间去编程。但是这些人却可以在 Facebook , YouTube , Wikipedia 或者 Reddit 这样的网站上花费数小时的时间。不管你是不是也有这样的情况,其中都有值得学习的地方。
很多时候我只是想看一小会儿的 Facebook ,结果我却在那儿停留了好几个小时。为什么会这样呢?这恰恰是因为我并没有打算在那儿停留太长时间。万事开头难,我发现把目标降低会更容易投入。如果有人问我是否准备在 Facebook 上花费几个小时,我会说不,因为我没有那些时间。然而,我更愿意接受快速查看某件事情的想法,我就是这样被吸引进去的。
好消息是你可以用同样的心理优势去学习编程。不要试图花几个小时去编程,因为你找不到这样的时间。告诉自己只写三分钟的代码,你就不会再为找时间而挣扎了。
5. 思考地越慢,学地越快
这句话听上去有些违背常理,所以我会用一个故事来解释。
我的一个朋友曾经对 JavaScript 的某些特性感到困惑。我让他和我一起过一遍他知道的内容然后解释一下哪一部分让人困惑。当他检查代码片段的时候,我注意到他有些急躁。
“等等!”我说。“慢一点,跟我解释下这里的每一步。”
我的朋友接着向我解释了这段代码的作用。
我又一次打断他,“你还是太急了。再试一次,但是这一次,我需要你逐字逐句的跟我解释每行代码并且告诉我代码的作用。”
这一次,我的朋友能够更好的解释代码中发生的事情。其中的关键是他有花时间去逐步检查每行代码而不是企图一下子理解全部。
在这样的情况下,思考地越慢实际上能让你学地更快。
6.先用简单语言编写复杂代码
如果一段代码太复杂或者陌生,就先用简单语言写出来。这样,你可以在实际编写代码前弄清楚你想要代码做什么。这种方法有两个好处:
1.代码写起来会更容易更快因为你不需要总是停下来去思考它该怎样运行。
2.可以提前捕获 bug 因为你很清楚代码的作用。
结论
我们已经了解了快速学习 JavaScript 的几个方法,你也可以运用这些技巧去学习其他的技能。下面概括一下我们讲的内容:
-
不要担心将来的决定,要潜心学习。
-
用对待玩具的心态对待新技能会让练习更加有趣。
-
就像玩 Facebook , YouTube 或者 Wikipedia 那样,用小目标的方法找时间编程。
-
慢下来,步子小一点,你会学的更快。
你是怎样学习的呢?你有没有其他的一些秘诀或者技巧是我没有提到的呢?或者你觉得这些都是瞎扯,而进步的唯一方法是一天投入12个小时。无论如何,我期待你们的评论。
原文发布时间:2018年03月12日 00:00:00
原文作者:前端大全
本文来源CSDN,如需转载请联系原作者

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
测试 JavaScript 函数的性能
编译:伯乐在线/Wing 在软件中,性能一直扮演着重要的角色。在Web应用中,性能变得更加重要,因为如果页面速度很慢的话,用户就会很容易转去访问我们的竞争对手的网站。作为专业的web开发人员,我们必须要考虑这个问题。有很多“古老”的关于性能优化的最佳实践在今天依然可行,例如最小化请求数目,使用CDN以及不编写阻塞页面渲染的代码。然而,随着越来越多的web应用都在使用JavaScript,确保我们的代码运行的很快就变得很重要。 假设你有一个正在工作的函数,但是你怀疑它运行得没有期望的那样快,并且你有一个改善它性能的计划。那怎么去证明这个假设呢?在今天,有什么最佳实践可以用来测试JavaScript函数的性能呢?一般来说,完成这个任务的最佳方式是使用内置的performance.now()函数,来衡量函数运行前和运行后的时间。 在这篇文章中,我们会讨论如何衡量代码运行时间,以及有哪些技术可以避免一些常见的“陷阱”。 Performance.now() 高分辨率时间API提供了一个名为now()的函数,它返回一个DOMHighResTimeStamp对象,这是一个浮点数值,以毫秒级别(精确到...
- 下一篇
JavaScript最后学习总结
上一篇文章 主要介绍了JavaScript中非常重要的AJAX,那么关于JavaScript的基础到这里就告一段落了。 记得今年3月22号开始写第一篇JavaScript学习笔记,边学边用转眼已经到了六月中旬。可能是因为技术栈是Java的缘故,JavaScript这门脚本多少觉得有点像远房姊妹的特殊意义,虽然第一篇说到了Java和JavaScript两门语言并没有什么太大关系。但是在学习使用的这个几个月,也体验到了这门脚本语言是如此的短小精悍。有些老司机可能会说你还没有学JQuery等一些非常出名的 JavaScript 第三方库,无可厚非这点我也承认,奈何时间精力有限等种种原因,接下来的时间还是会回到Java以及Android中。当然也不排除在未来的某一天继续回归到优秀JavaScript第三方库的学习。 深处移动互联浪潮之巅的时代,我想,作为一名开发人员,紧跟时代的脚步虽然是幸运的但是也充满了挑战。或许只有当潮水退去,你才知道谁一直在裸泳。 因此,一切的准备都是为了未来捍卫自己荣誉那一天的厉兵秣马所作出的努力。 最后感谢 W3CSchool、廖雪峰的官方网站 给我们提供...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境