我们在学习JavaScript,或其他任何编码技能的时候,往往是因为这些拦路虎而裹足不前:

有些概念可能会造成混淆,尤其当你是从其他语言转过来的时候

找不到时间(有时是动力)学习。

很容易忘记已经理解了的东西。

工具多又在不断变化,所以不知道从哪里开始。

幸运的是,这些拦路虎是可以被识别,并消灭的。在这篇文章中,我将介绍六个思维技巧来帮助你更快地学习JavaScript,并成为一个更快乐、更富有成效的程序员。

1.不要让未来的决策阻止你现在前进的方向

很多人学习JavaScript,问的第一个问题往往是“我应该使用哪个框架?”。但是,如果你还没有掌握最最基础的JavaScript,那这显然是一个错误的问题。你将你所有的时间用来研究不同的框架,于是,你开始停滞不前。

帮助摆脱这种陷阱的方法之一是画一个你需要学习的路线图。例如,要想成为一个前端开发者,你的路线图可能是这样的:

进一步分解的话,你可以做一个只有HTML和CSS的功能性web页面。然后像这样一步步列出每个步骤,那么对于现在应该专注于做什么,就一目了然了。你也不会浪费时间去担心应该以后操心的事情。

2.不要让自信诱骗你忘事

快速了解一个概念,也许是学习JavaScript的道路上最影响你进步的事情之一。下面请允许我解释一下。

当你读到某些东西,你觉得的确如此的,那么很可能就会直接跳到下一个内容。然后你觉得接下来这个内容也非常浅显易懂,于是继续往下看。但很快,你会发现你已经忘记了前面自认为已经掌握的内容,所以只能回过头去温习。你快速地浏览了一遍,感觉又明白了,然后继续前进。但是你又发现自己忘记了别的东西。你一直处在这个循环中,直到最终迷失了自己。你不由地气馁,想着那先休息一下吧,然而当你休息完了再回来的时候,你发现你已经忘记了所有的内容。

解决这个问题,也很简单,只需要两步:

限制一次学习的量。

实践——实际编写代码。

当你去学习一个新概念的时候,一定要试用它,摆弄它,熟悉它,甚至将它和其他概念结合起来。而且实际输出到示例代码中非常重要,因为这能帮助你消化吸收它。此外,限制一次学习的量,有助于记住资料,道理也很简单,东西越少越好记。

虽然这种学习进程会让你感觉所需的时间更多,但实际上恰恰相反,因为你不再需要走那么多的回头路。我也是经过了很多次惨不忍睹的教训才明白了这个技巧。

3.用正确的心态去做练习

很多人认为反复的练习特别无聊,所以他们通常会选择跳过或尝试走捷径。如果你快进JavaScript练习,那么最终反而需要更多的学习时间。试着让练习变得令人感兴趣,这样是不是就不会那么抗拒呢?

试着转变心态:

如果让你学习一个新的JavaScript概念,却不能试试,会怎么样?你是什么感觉?从我个人而言,我会特别懊恼。这就像一个孩子得到一个新的玩具,却不能玩一样。

当你学习JavaScript中一些新内容的时候,试着将它当作新玩具,新车,新鞋,或者其他任何你有兴趣尝试的东西。然后不要将练习当作工作,要将练习当作是玩耍。用新技能去尝试一些很酷的东西。让你自己都不由的惊叹。然后显摆给你的朋友看。

用一种游戏的心态,你会学得更快,记得更久,拥有更多的乐趣。

4.写代码的时间魔法

在学习JavaScript中最常见的问题是,找不到时间写代码。但是,与此同时,却有大把大把的时间浏览各种网站,如Facebook,YouTube,维基百科和Reddit等。

我有好几次,一开始只是想打开Facebook,看一小会,然后不知不觉就发现已经看了几个小时。这是怎么发生的呢?或许正是因为我并不打算看很长时间。万事开头难,一旦开了头,后面陷进去就变得容易多了。但是如果有人问我,是否愿意花时间在Facebook上,我会坚决地说不,因为我本身时间就不够用。然而,只允许看一会会时间往往更容易接受,然后深陷其中。

如果大家对于学习web前端有任何问题(学习方法,学习效率,如何就业),
可以随时来咨询我,这是我的web前端交流学习裙:前面是六零三,中间九八五,最后九九三,
多多交流问题,互帮互助,群里有学习教程和开发工具好消息是,你也可以利用同样的心理来学习写代码。一开始不要想着要编码几小时,因为你永远找不到这么多的时间。就告诉自己你要去写3分钟的代码。这样你永远也不用愁挤不出时间了。

5.思考得更慢,学得更快

这听起来貌似有悖常理,下面我会用一个小故事解释。

我的一个朋友曾经对JavaScript的某个功能感到困惑。于是,我让他详细地说一遍哪些是他知道的,然后给他解释他感到困惑的那部分。不过,当他检查代码片段的时候,我注意到有一段代码,他说得非常仓促。

“等一下!”我说, “慢点讲,每一步都详细地说一下。”

我的朋友继续给我做代码发生了什么的全面总结。

我只好再次叫住他。 “你还是太仓促了。再试一次,但这次,我希望你能从字面上去检查每一行代码,告诉每一行的代码都发生了什么。”

这次,我的朋友终于能够很好地解释代码中正在发生什么。问题的关键是,他终于可以一步一步地检查了代码片段,而不是囫囵吞枣想要一次性理解所有代码。

在类似于这样的情况下,思考得更慢实际上能让你学得更快。

6.首先用简明的语言来写复杂的代码

如果碰到一段复杂的或你不熟悉的代码,那么先用通俗易懂的语言写出来。这样一来,你就可以在写代码之前明确地知道你想要代码做什么。这么做有两个好处:

代码更易写,因为你不需要总是停下来想,你想要它表现什么。

在bug发生之前就能捕捉到,因为你对代码应该做什么有一个明确的概念。

结论

我们已经讨论了一堆如何更快地学习JavaScript的方法,而且你也可以将这些技巧应用到其他的技能上。下面来回顾一下:

不要担心以后会做什么决策,先好好深入学习。

将新技能当作玩具一般快乐地练习。

以小承诺的方式找时间来写代码,就像你一开始安慰自己只逛一小会时间网站。

慢下来,步子迈的越小,学得越快。

更快学习 JavaScript的6个思维技巧相关推荐

  1. 更快学习 JavaScript 的 6 个思维技巧

    2019独角兽企业重金招聘Python工程师标准>>> 我们在学习JavaScript,或其他任何编码技能的时候,往往是因为这些拦路虎而裹足不前: 有些概念可能会造成混淆,尤其当你是 ...

  2. 更快学习编程的7个重要技巧

    无论您是正在攻读计算机科学的学位,还是使用GI Bill选择下一个任务的资深人士,有抱负的自学成才的开发人员或编码训练营的学生,精通编程技术都是永恒的斗争.为了帮助您的学习(由Coding Dojo讲 ...

  3. java之更快学习反射

    反射是什么? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语 ...

  4. 机器学习 训练较快的模型_通过心理模型更快地学习软件,第1部分

    机器学习 训练较快的模型 什么是心理模型? (What Are Mental Models?) The easiest way to describe them is that they're pat ...

  5. CSS vs. JS Animation: 哪个更快

    CSS vs. JS Animation: 哪个更快? CSS vs. JS Animation: 哪个更快? 基于JavaScript的动画竟然已经默默地比CSS的transition动画快了?而且 ...

  6. DeepMind强化学习新研究:更快的知识学习,更强的环境适应

    2021-05-04 13:36:12 编译 | Mr Bear 校对 | 维克多 DeepMind官方博客在一篇文章"Fast reinforcement learning through ...

  7. 使用Zeigarnik效应来学习编码更快

    by Steven Gilbert 史蒂文·吉尔伯特 使用Zeigarnik效应来学习编码更快 (Use the Zeigarnik Effect to learn to code faster) T ...

  8. anki卡片重复_如何在Anki中使用间隔重复来学习更快的编码

    anki卡片重复 by Steven Gilbert 史蒂文·吉尔伯特 如何在Anki中使用间隔重复来学习更快的编码 (How to use spaced repetition with Anki t ...

  9. php serialize和json_encode哪个更快_学习PHP的10个技巧

    在开始学习PHP之前,花一些时间计划学习语言的方法可能是明智的. 学习过PHP的专业开发人员已经花费了大量时间来学习他们的技术.要模拟它们,您将需要确保有动力去做,并且理想地能够快速有效地学习PHP. ...

最新文章

  1. 【怎样写代码】确保对象的唯一性 -- 单例模式(四):饿汉式单例类与懒汉式单例类的讨论
  2. mediarecorder添加时间戳_[Paper] 自动驾驶中相机和激光雷达的时间戳误差标定
  3. 在 .NET 中使用 Flurl 高效处理Http请求
  4. 浅析基于 Serverless 的前后端一体化框架
  5. neo4j java查找_Spring-Boot使用neo4j-java-driver-- 查找两个节点之间关系的最短路径
  6. 【Java】转置String的各种方法分析
  7. django 跳转其他网站_Django 实战 | 搭一个 GitHub 用户展示网站 04
  8. oracle 查看锁表情况及数据库连接情况
  9. 解决PyCharm调试查看变量时一直显示collecting data并报错Timeout waiting for response且看不到任何内容
  10. icesat2 重要参数
  11. 论文阅读 || 图像分类系列 —— DenseNet(很详细)
  12. css标签选择器、类名选择器、多类名选择器
  13. 数字孪生技术下的智慧医院再添新功能,室内地图导航让你“医”路畅通
  14. AVAudioPlayer实现音乐播放+歌词与播放进度同步
  15. vue项目中使用echarts 地图 自定义图标
  16. android为什么总是闪退怎么办,手机应用老是闪退该怎么办?
  17. 软件测试之冒烟测试中易犯的三个误区--新梦想软件测试
  18. vue双向绑定是如何实现的
  19. 一家之言:中国IT人员创业存在的问题
  20. 假如,我来做一款产品?

热门文章

  1. Myeclipse学习总结(1)——Myeclipse优化配置
  2. 50道编程小题目之【多位数求和】
  3. java中goto用法源代码,java中goto语句解析12
  4. android的控件常用方法是,Android常用控件属性分析
  5. [xcode]instruments来检验你的app
  6. linux系统组成之小型RedHat little linux制作二
  7. perl学习笔记(1)
  8. 禁止Apache列出目录内容
  9. [dfs] 洛谷 P1242 新汉诺塔
  10. oracle dba create view 失败 解决办法