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

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

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

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

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

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

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

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

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

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

不要让自信诱骗你忘事

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

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

我目前是在职前端开发,如果你现在也想学习前端开发技术,在入门学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以申请加入我的前端学习交流裙:前面:六零三 中间:九八五 最后:九九三。里面聚集了一些正在自学前端的初学者,裙文件里面也有我做前端技术这段时间整理的一些前端学习手册,前端面试题,前端开发工具,PDF文档书籍教程,需要的话都可以自行来获取下载。

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

限制一次学习的量。

实践——实际编写代码。

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

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

用正确的心态去做练习

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

试着转变心态:

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

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

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

04

写代码的时间魔法

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

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

好消息是,你也可以利用同样的心理来学习写代码。一开始不要想着要编码几小时,因为你永远找不到这么多的时间。就告诉自己你要去写3分钟的代码。这样你永远也不用愁挤不出时间了。

05

思考得更慢,学得更快

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

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

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

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

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

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

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

06

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

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

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

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

结论:

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

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

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

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

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

6 个快速学会 JavaScript 的秘诀!相关推荐

  1. 零基础自学python教程-零基础5个月快速学会Python的秘诀

    点击蓝字"python教程"关注我们哟! 零基础该怎么快速学习Python呢?如何用5个月快速学会Python? 1 这里主要讲一下python基础与爬虫 个人认为可以分为两步走: ...

  2. 前端小白也能快速学会的博客园博客美化全攻略

    前端小白也能快速学会的博客园博客美化全攻略 A呦V,博客园er的自我修养是什么?第一条,别只顾收藏和偷师呀,记得点"推荐"或关注本人喔~ 美化方法论简介 一般而言,需要选一个默认的 ...

  3. 前端小白也能快速学会的博客园博客美化全攻略[附源码]

    前端小白也能快速学会的博客园博客美化全攻略[附源码] 文章目录 前端小白也能快速学会的博客园博客美化全攻略[附源码] 美化方法论简介 准备工作 js权限申请 如何模仿一个博客园的自定义风格(样式css ...

  4. 教你如何快速学会全彩LED显示屏的调试方法

    今天优色专显教你如何快速学会全彩LED显示屏的调试方法.全彩LED显示屏的调试分为3步:调试之前的准备工作;调试单个接收卡所控制的LED电子屏区域(一般为一个箱体);调试大屏幕. 一. 调试之前的准备 ...

  5. 轻松学会JavaScript事件

    文章目录 事件与事件流 事件监听(绑定事件方法) JavaScript事件 鼠标事件 表单事件 键盘事件 UI事件 快速投票   事件可以说是JavaScript最引人注目的特性,因为它提供了一个平台 ...

  6. UI设计培训之:5个小技巧快速学会PS抠图

    一听到PS抠图,我们大家心里是不是产生了退却心理,害怕它过于复杂的操作. 那么现在有一种简单方法教给大家,如何在10分钟内快速学会ps抠图. 而你所需要准备的就是给自己10分钟的尝试时间. 你没有尝试 ...

  7. 深入体验JavaWeb开发内幕——简述JSP中的自定义标签叫你快速学会

    转载自   深入体验JavaWeb开发内幕--简述JSP中的自定义标签叫你快速学会 自定义标签,顾名思义,就是自己定义的标签.那么我们为什么要自己定义一些标签呢? 我们知道,如果要在JSP中获取数据我 ...

  8. 新手编程:程序员 5 种编程入门方法,快速学会一门编程语言!

    程序员要精通一门语言,还是要掌握多门语言? 对于这个问题,公说公有理,婆说婆有理. 技术更新太快,精通一门编程语言已经实属不易,又怎么好意思说精通多门语言呢? 不过呢,当你精通一门语言同时,涉猎一下其 ...

  9. Android 工程师如何快速学会web前段

    Android 工程师如何快速学会web前段 今天主要聊一下本人最近在学习web前段的感受,最近html5是越来越火了,前段时间公司做了一个项目然后让我们"android"的程序猿 ...

最新文章

  1. 【Tools】git提示“warning: LF will be replaced by CRLF”的解决办法
  2. C#三层架构第五课之DBUtil层设计
  3. 浅谈shell中的clear命令实现
  4. java集合框架中contains(),containsKey()和containsValue()的用法
  5. Android Studio 创建第一个Android工程项目
  6. android zxing 自动对焦,ZXing自动对焦问题
  7. qt中关于坐标的说明
  8. spring boot 教程(四) 统一异常处理
  9. Swift Alamofire SwiftyJson
  10. MAX30102 模拟IIC读取程序(C语言)
  11. Netapp存储 硬盘显示bad label的解决办法
  12. 《动手学ROS2进阶篇》8.2RVIZ2可视化移动机器人模型
  13. 将支付网关添加到您的WooCommerce商店
  14. 广西国家级自然保护区功能区划图(展示)
  15. 《2022 中小企业快成长之年,上云 选对平台是关键,这次我站华为云》
  16. 如何购买服务器及域名(阿里)
  17. 拉屎的自由,你有吗?
  18. 二叉树的中序遍历 递归与非递归
  19. JQ对复选框全选、获取复选框的值、回选
  20. 条形码技术在供应链管理中的作用

热门文章

  1. linux系统下安装ns,Ubuntu 14.04下安装ns2.35
  2. linux文件系统管理实践题目,Linux软件管理、文件系统管理实践
  3. 输入法 java_使用 Utf7ime 输入法实现中文输入 Windows+Java 平台(完整步骤版)
  4. Ajax Control Toolkit--Slider:有朝一日倒过来
  5. centos6.5 安装mysql5.6多实例(多配置文件)
  6. Sublime text 3 SVN插件及使用方法
  7. openstack部署(四)--网络配置(Networking)
  8. Oracle —— 如何执行SQL文件
  9. 珍藏40个android应用源码分享
  10. java开发_读写txt文件操作