JavaScript学习中的挑战

当人们尝试学习 JavaScript , 或者其他编程技术的时候,常常会遇到同样的挑战:

有些概念容易混淆,特别是当你学习过其他语言的时候。
很难找到学习的时间(有时候是动力)。
一旦当你理解了一些东西的时候,却很容易再一次忘记。
可以使用的工具甚多且经常变化,所以不知道从哪里开始入手。
幸运的是,这些挑战最终都可以被战胜。在这篇文章里,我将介绍 6 个思维技巧来帮你更快的学习 JavaScript ,让你成为一个更快乐更多产的程序员。

1.不要让将来的决定阻止你进步

对于很多学习 JavaScript 的人来说,他们问的第一个问题是选用哪个框架(现有框架非常多)。但是如果你还不熟悉原生的 JavaScript ,那这就是个不该问的问题。你会花费你全部的时间去查询不同的框架并且不会取得任何进展。

走出这个让人犹豫不决的陷阱的一个方法是要有一个学习的路线图。比如,要想成为一个前端开发人员,你的路线图大概是这样的:

把学习计划进一步拆分,你可以只用 HTML 和 CSS 做一个功能性的网页。了解其中的具体步骤,你会很容易知道现在需要关注的东西,因此不会浪费时间担心将来要学习的内容。

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 那样,用小目标的方法找时间编程。
慢下来,步子小一点,你会学的更快。
你是怎样学习的呢?你有没有其他的一些秘诀。

文章转源于网络,仅供学习参考!

时间: 2024-07-30 14:02:38

JavaScript学习中的挑战的相关文章

javascript学习中自己对作用域和作用域链理解

在javascript学习中作用域和作用域链还是相对难理解些,下面我关于javascript作用域和作用域链做一下详细介绍,给各位初学者答疑解惑. 首先我们介绍一下什么是作用域?  从字面上理解就是起作用的区域.   作用域主要有两种作用域:      1.块级作用域(js 不支持):主要用于C系列语言中,例如:Java Object-c/Swift(苹果开发语言).C++/C#.在此不做过多说明.      2.词法作用域  一个变量的作用范围,在代码写出来的那一刻就定下来了,不会根据代码的运

JavaScript 学习中

邮箱的验证: <!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title>email</title>        <script type="text/javascript">            window.onload=isEmail;            function isE

JavaScript学习13 JavaScript中的继承

JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式:对象冒充 function Parent(username) //父类对象 { this.username = username; //下面的代码最关键的部分就是将子对象的this传递给了父对象 this.sayHello = function() { alert(this.username); } } f

JavaScript学习12 JS中定义对象的几种方式

JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascript"> var object = new Object(); object.name

JavaScript学习-js中的数组/Boolean类/字符串String类

JavaScript学习 [js中的数组] 1.数组的概念:是在内存中连续储存对个有序元素的结构 元素的顺序称为下标,通过下标查找对象元素. 2.数组的声明: ① 字面量声明:var arr1 = []; js中,同一数组,可以储存多种不同的数据类型: 例如: var arr1 = [1,"2",true,{"name":"hahhah"},[1,2]] ② new关键字声明: var arr2 = new Arry(参数) >>&g

JavaScript学习笔记——jquery中html()、text()、val()的区别

.html()用为读取和修改元素的HTML标签 .text()用来读取或修改元素的纯文本内容 .val()用来读取或修改表单元素的value值. 这三个方法功能上的对比 .html(),.text(),.val()三种方法都是用来读取选定元素的内容:只不过.html()是用来读取元素的HTML内容(包括其Html标签),.text()用来读取元素的纯文本内容,包括其后代元素,.val()是用来读取表单元素的"value"值.其中.和.text()方法不能使用在表单元素上,而.val()

【吐血推荐】牛人收集的163个Javascript学习教程pdf电子书资源合集

不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pdf 274.79 KB   21天学通JavaScript(第2版)-顾宁燕扫描版.pdf 26.02 MB   5天驾驭JQuery教程.pdf 1.08 MB   ACCP软件开发初级程序员-使用Javascript增强交互效果-北大青鸟.pdf 51.70 MB   Ajax+PHP程序设计实战详解.pdf 84.29 MB   Ajax实战中文版.pdf 2.48 MB   Aj

最棒的 JavaScript 学习指南(2018版)

译者注:原文作者研究了近2.4万篇 JavaScript 文章得出这篇总结,全文包含学习指南.新人上手.Webpack.性能.基础概念.函数式编程.面试.教程案例.Async Await.并发.V8.机器学习.数据可视化.调试.单元测试等章节,非常适合用于对自己 JavaScript 技术栈的比对,用于查漏补缺,适合收藏阅读.有删减.文中如有错误,欢迎评论指出. 在过去的一年间(2017年),我们对比了近24000篇 JavaScript 文章,并从中挑选出了最好的55篇.我们做了这个目录,认为

javascript学习

javascript 学习 title: Javascripttags: javascript,学习grammar_cjkRuby: true--- 定义变量 三种形式 var name; var name = "zhang san"; var name; name = "zhang san"; Javascript 的数据类型 6种数据类型 字符串单引号或双引号 var name = "zhang san"; var name = 'zhang