更快学习 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,如需转载请联系原作者


相关文章
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
70 0
|
4天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
1月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
1月前
|
JavaScript
Vue.js学习详细课程系列--共32节(4 / 6)
Vue.js学习详细课程系列--共32节(4 / 6)
33 0
|
1月前
|
前端开发 搜索推荐 JavaScript
编程笔记 html5&css&js 001 学习编程从网页开始
编程笔记 html5&css&js 001 学习编程从网页开始
|
2月前
|
前端开发 JavaScript
从零开始学习前端开发:HTML、CSS、JavaScript入门指南
【2月更文挑战第1天】本文将带领读者从零开始学习前端开发,介绍HTML、CSS和JavaScript的基础知识与应用,帮助读者快速入门前端开发领域。
64 1
|
2月前
|
数据采集 机器学习/深度学习 JavaScript
画【Python折线图】的一百个学习报告(二、pyecharts引入js文件)
画【Python折线图】的一百个学习报告(二、pyecharts引入js文件)
51 0
|
2月前
|
JSON 前端开发 JavaScript
Webpack【Webpack图片处理、Webpack中proxy代理 、自动清理dist、Webpack优化、JavaScript中的代码检查】(三)-全面详解(学习总结---从入门到深化)
Webpack【Webpack图片处理、Webpack中proxy代理 、自动清理dist、Webpack优化、JavaScript中的代码检查】(三)-全面详解(学习总结---从入门到深化)
35 0
Webpack【Webpack图片处理、Webpack中proxy代理 、自动清理dist、Webpack优化、JavaScript中的代码检查】(三)-全面详解(学习总结---从入门到深化)
|
2月前
|
资源调度 JavaScript 关系型数据库
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)
33 0