在一个周末学习JavaScript?
类似于这个问题 ,我想知道如果有经验的JavaScript开发人员有他们使用的任何网站的例子,以获得在24/28小时JavaScript的基础知识? 我曾看过道格拉斯·克罗克福德的Google技术讲座,我买了这本书“Javascript:The Good Parts”,但我没有时间阅读。
这里是我学习语言的很好的资源清单:
- Mozilla开发人员中心:核心JavaScript 1.5指南
- 雄辩的JavaScript (交互式教程)
- 学习高级JavaScript (交互式教程)
- QuirksMode (浏览器兼容性信息的主要来源)
- JavaScript的重新介绍 (大文章)
- 道格拉斯克罗克福德video系列
- 面向对象的JavaScript简介
- JavaScript原型inheritance
- ECMAScript语言规范
工具:
- 一个debugging器
- Firefox的Firebug
- 歌剧蜻蜓
- 开发人员工具 (Safari / WebKit)
- IE8开发工具
你这个问题的重要部分是
[如何做]有经验的Javascript开发人员…在24/28小时内获得Javascript的基础知识
在一天,一周,一个月或一年的时间里,你不可能获得经验。 经验是您在多年努力工作中获得的东西 – 遇到错误,学习最佳实践,重写四年前编写的代码,并问自己:“我为什么这样做”,优化远远不够 – 比完美的环境…
话虽如此,如果你只有一个晚上学习足够让你危险,那么从底部开始,继续前进。 Daniel Vassallo已经给了你一个非常好的链接,并且不止一个人build议了W3School来快速浏览Javascript和DOM。
但是不要以任何开始。 相反,从明天开始,你可以确定你想用JavaScript来做什么。 要做到这一点,你需要问自己两个简单的问题。
你的程序专业水平是什么? 你能用C
和C++
编写复杂的algorithm,偶尔也会碰到汇编器的一些变种吗? 你有没有曾经用像C#
或Java
这样稍微“更高级”的语言来做一个体面的大型项目? 你至less知道一种脚本语言吗? 或者,“function编程”,“基于类的inheritance”和“冒泡sorting”这些短语对你来说毫无意义? 如果你处在前三类中的任何一个,那么在 Internet 上稍微介绍一些更好的 教程 ,或者快速查看一个或 两个 Stackoverflow 问题 ,就可以立即开始运行。 如果你在最后一个类别,那么你可能会从一般的编程基础开始。 不pipe你将要学习的环境如何。 这给我们带来了第二个问题
你的平台是什么? 你打算用node.js
做一些服务器端编程吗? 也许你打算在Rhino
或JScript
环境中开发一些实用程序? 如果出现这两种情况,那么阅读您正在开发的平台的文档将使您比阅读DOM更好。 另一方面,如果您正在计划开发Web,那么您无法比使用Firebug扩展插件更好地开发Firefox ,并开始构build您将在明天工作的简化版本。
如果这些都不会对你有任何帮助,那么希望你读完之后,其他人可以用更合适的方式来回答这个问题……这就是Stackoverflow的美妙之处。
如果您从W3Schools教程开始 ,那么最多只需几个小时即可完成。 在剩下的时间里,我会build议观看以下博客文章中列出的video讲座:
- 通过video讲座学习JavaScript编程语言 Peteris Krumins
这篇博客文章的作者在每个video演讲中都写了非常详细的观点,所以你可以清楚地知道讨论的内容。 会谈由Douglas Crockford , John Resig和Nicholas Zakas提供 ,他们都是JavaScript领域的重要人物。 这些应该从你周末的相当一大块,但他们应该作为一个很好的介绍,当你通过“ 好部分 ”的书。
JavaScript是一种非常有performance力的语言,我希望学习它会很有趣。 在上述谈话中,您可以真正感受到演讲者的热情,他们描述了语言的一些优秀特性,例如closures和一stream的function 。 请享用!
如果你正在学习Javascript,那么值得检查一下jQuery和Prototype,因为它们将帮助我们编写跨浏览器JavaScript以及一些很好的资源来执行一些像JS这样的JS中的棘手任务。
我第二W3Schools参考。 我也喜欢Javascript的短语手册 ,它有真实世界的例子和每个简短的解释。 不要进入语言的历史或理论,如果你想在一个周末尽可能多地填充内容,这可能太多了。
我或多或less地处于你的处境。 我做的是
-
我读了“javascript,好的部分”。 这是一本好书,但不要从字面上理解。 例如,它的使用对象,完全忽略了新的操作符和本地对象实例化机制,这是坦率的过分。 因此,要好好学习基于原型的机制。
-
采取jQuery和学习它使用。 请记住,jQuery是一个伟大的库来操纵网页DOM。 添加节点,删除节点等等。 jQuery抽象了许多依赖于浏览器的操作,所以你不会因浏览器不兼容而生气。
-
修补程序,当你发现自己在一个麻烦的地方,使用FireBugfind麻烦。 做小一点的例子,对没有使用
var
关键字引入的variables保持警惕,并且始终考虑到this
是指拥有给定例程的对象,这可能是意想不到的。
Javascript(和DOM上的JS)是一种很好的语言,但是它的逻辑有时候可能会令人费解。 不要放弃。 一旦你了解它是如何工作的,这是相当直观的。
codecademy是非常好的网站,学习不仅是JavaScript,但HTML和CSS和一些更多的东西。 这个网站是有点不同于其他人。 因为你会交互地在这个网站学习东西。