您学习JS错误

学习发展时我会对年轻的自我说些什么

您学习JS错误
Louis BlytheUnsplash发表的 “我只是无法学习JS :-(”

我的一个正在学习JS的朋友在html页面上自豪地向我展示了一个时钟。 他告诉我,七个小时后,他终于得到了每分钟更新的信息! 我对他微笑着说: “我认为您已经准备好学习JS框架。”

那个人以前很难理解JS, 为什么在世界上我需要一个函数? 为什么我的函数不能运行,我已经写了? -他还没有叫它- 为什么我需要一个数组? 我可以有几个变量……

我以类似的方式遇到了许多人,他们回避了编码,因为编码是“难”的 ,或者“你必须是个天才才能做到”,或者他们可以使用HTML / CSS和JQuery来完成他们想要的一切。

当我学习JS时,我记得在第三次阅读Eloquent JavaScript时,我曾想过: “为什么世界上的人们会在乎继承或 this 或数组? 为什么不仅仅使用变量并完成它呢? 他们为什么只是通过将它们放在对象中而使事情复杂化?”

当我在中学教代数时,经历非常相似。 a - b = a + -b 我要沮丧的学生呆呆的眼睛盯着我说。 让我感到困惑的是,他们为什么无法理解“ 如此合乎逻辑”的事物 然后,洞察力! 我们需要组织一项活动,但是我们找不到数字,因为我们不确定可能会发生变化的事物(变化吗?如变量……WOT?)。 带着新的兴趣,我们研究了B先生(就是我)正在教他们的那些怪异的方程式和公式,……它们终于变得有意义了! 它们实际上是有用的! (您的意思是说,数学不仅仅可以用来了解小约翰尼有多少个西瓜?)学生们兴高采烈,我也是! 数学有提问,他们已经制定了一个答案。 在那之前,数学只是为他们提供了他们尚未提出的问题的答案。

学习数学并不是要学习有关数字的事情(嗯,有点????)。 学习数学主要是关于如何使用不同的方法和工具来解决问题,可能是用于科学,烹饪,个人理财,太空探索或劳拉只剩下多少苹果。

我相信在学习JS或与此相关的任何其他语言或技能时,也会发生同样的事情。 出于上下文,一本书,在线课程或大学课程正在回答学生未曾提出的问题。

学习JS并不是要学习(记忆)JS,而是要学习一种工具来解决问题。

我最近读了一篇很棒的文章,内容是关于如何通过学习解决问题的技巧来成为一名更好的开发人员。 尽管我非常同意该文章,但我相信,为了充分理解发展,您需要稍微了解您要解决的问题。

作为一家初创公司的CTO,我有机会与几个CS实习生打交道,这真是令人失望的经历。 似乎这些学生学到了很多理论,记住了如何编写forswitch ,却不知道这些实际上是用来做什么的。

当这个人自学成才并决定拿起书或参加JS等在线课程时,这种情况甚至会更多。 这可能非常令人沮丧和困惑,因为这本书或课程正在提供有关该人尚未提出的问题的答案,并且大脑很难弄清楚该信息的存储位置和处理方式。 我花了最长的时间试图向某人解释为什么他们想了解什么是功能以及它如何工作。 他们的问题是: “如果只将我的整个小型计算器应用程序放在一个文件中, 为什么我需要一个函数?” 至少可以说这令人沮丧。 但是,只要那个人尝试做比cli计算器复杂一点的事情,就可以看到她对功能及其实际用途的深刻见解,真是太美了!

那么,如何做才能更好地学习JS?

首先,不要惊慌!

您学习JS错误
不要惊慌!

在许多课程中,您都被要求练习,练习和练习……但是练习什么呢? 一切! 如果这是您所知道的,请尝试制作一些您难以理解的东西,使用您当前的知识,启动Adobe Muse或Dreamweaver,然后尝试构建一些东西( todo应用程序是一个不错的起点)。 不要看别人的代码,也不要从*复制/粘贴…找到您所知道和拥有的当前工具的局限性,然后,您才可以准备获得并了解新知识!

许多课程都会给您带来挑战和练习……请不要跳过它们,因为您会觉得自己已经掌握了内容(我一直都在这样做????),它们实际上是设计来挑战您,向您延伸一点,让您您意识到自己不知道的地方。 然后您意识到自己不会因为不知道而感到沮丧! 不,恰恰相反,当您知道自己不知道时,那就是您准备学习不知道的东西!

让我再说一遍,当您以自己的方式找到一座山时,就已经准备好学习攀登它的方法了! 很难理解,如果您从未见过山,为什么甚至还需要一条垂绳。

最重要的是,不要停止学习! 我发现,当您做的事情有些过于复杂或困难时,我发现自己做错了,并且有一种工具或技能可以更轻松,更有效地完成该任务。 例如,过去5年中每天早上5:00 AM将文件上传到Web服务器的同事,哇! 但是有cron 在另一种情况下,一位朋友试图擦除几千个文件,但又保留几千个文件,因此,显而易见的解决方案是选择所有要在查找器上擦除的文件并擦除它们。 经过一个周末的挫败,我们想知道, 如果可以编写BASH脚本来解决这个问题,该怎么办? 有! 五分钟后,任务结束了!

或者只是尝试仅使用JQuery构建待办事项应用程序……您会明白我的意思的。

因此,请保持敬业精神,学习并构建有趣的东西!

From: https://hackernoon.com/you-are-learning-js-wrong-a004746d2ff5