首页 > 代码库 > 如何正确学习JavaScript
如何正确学习JavaScript
原文:How to Learn JavaScript Properly(2014-5-16)
翻译:Jaward华仔
学习时长:6~8周
学习前提:中学水平,无需编程经验
更新(2014-1-7)
在Reddit上创建了一个学习小组
January 2014, “Learn JavaScript” Study Group on Reddit
目录
- 不要这样学习JavaScript
- 本课程资源
- 1~2周(简介,数据类型,表达式和操作符)
- 3~4周(对象,数组,函数,DOM,jQuery)
- JavaScript终极编辑器:WebStorm
- 第一个项目-动态问答应用
- 5~6周(正则表达式,Window对象,事件,jQuery)
- 7周,可延长到8周(类,继承,HTML5)
- 继续提升
- 一些鼓励的话
上面的课程大纲提供了一个结构化和富有启发性的学习线路,从初学者到有所建树,把JavaScript学对学透。
既然你找到这篇文章来,说明你是真心想学好JavaScript的。你没有想错,当今如果要开发现代网站或web应用(包括互联网创业),都要学会JavaScript。而面对泛滥的JavaScript在线学习资源,却是很难找到一份高效而实用的方法去学习这个“web时代的语言”。
有一点需要注意,几年前我们需要知道一个真正的服务器端语言(比如PHP,Rails,Java,Python 或者 Perl)去开发可扩展,动态的,数据库驱动的web应用,而现在只用JavaScript就可以实现了。
不要这样学习JavaScript
不要一开始就埋头在成堆的JavaScript在线教程里 ,这是最糟糕的学习方法。或许在看过无数个教程后会有点成效,但这样不分层次结构地学习一个东西实在是十分低效,在实际用JavaScript建立网站或web应用时你还是会频繁的卡住。总的来说,这种学习方法会让人不知道如何将语言当做工具来使用——当做个人工具来用。
另外,也许有人会建议从尊敬的JavaScript教父Douglas Crockford写的《JavaScript语言精粹》开始学习JavaScript。然而,虽然Crockford先生对JavaScript无所不知,被誉为JavaScript世界的爱因斯坦,但他的《JavaScript语言精粹》并不适合初学者学习。这本书没有通透、清晰、明了的阐述JavaScript的核心概念。但对于更高级的学习路线,我倒会建议你看看Crockford先生的视频。
还有,不要只从Codecademy等网站学习JavaScript,因为即使知道怎么编写一大堆JavaScript代码小片段,还是不能学会怎么建立一个web应用程序。即便如此,在后面我还是会建议把Codecademy当做补充的学习资源。
本课程资源
更新:Reddit用户d0gsbody
4月8号在Reddit上建立了一个学习小组。他和其他组员都非常积极和乐于助人。我建议你加入这个小组,他们会让你保持积极性且帮助你更好的学习JavaScript。毕竟独自折腾JavaScript还是有点难度的。链接:Learning JS Properly – Study Group on Reddit
-
请在以下两本书中选一本,第一本比较适合有编程经验的人,而另一本则适合完全没有编程经验的初学者。
我个人推荐第一本书,因为作者对各个知识点都阐述得非常好且涵盖了一些高级JavaScript知识点。但是,要看懂这本书你至少要对web开发有一定的基本了解。所以,如果你有一点点编程经验或者web开发经验(不一定是JavaScript),那就买这本书吧。
- 纸质版(英文) :Professional JavaScript for Web Developers
- 纸质版(中文) :JavaScript高级程序设计(第3版)
- Kindle版(英文):Professional JavaScript for Web Developers
- Kindle版(中文):JavaScript高级程序设计(第3版)
如果你没有编程经验,可以买这本:
- 纸质版(英文) :JavaScript: The Definitive Guide
- 纸质版(中文) :JavaScript权威指南(第6版)
- Kindle版(英文):JavaScript: The Definitive Guide
- Kindle版(中文):JavaScript权威指南(原书第6版)
-
免费注册Stack Overflow,这是一个编程领域的问答论坛。在这里提问题得到的回答比Codecademy要好,哪怕你的问题非常基础,看起来很傻(记住,从来没有愚蠢的问题)。
-
免费注册Codecademy,这是一个在线学习平台,你可以直接在浏览器里面写代码。
-
JavaScriptIsSexy上的一些博文,包括对象,闭包,变量的作用域和提升,函数等等。
【点击这里查看全文】