在一个周末学习JavaScript?

Learning JavaScript in one weekend?

与这个问题类似,我想知道经验丰富的javascript开发人员是否有任何网站可以通过示例在24/28小时内完成javascript的基础知识?我看过道格拉斯·克罗克福德的谷歌技术讲座,我买了本书《javascript:好的部分》,但我没时间读。


以下是我学习该语言的非常好的资源列表:

  • Mozilla开发者中心:核心javascript 1.5指南
  • 雄辩的javascript(交互式教程)
  • 学习高级javascript(交互式教程)
  • quirksmode(浏览器兼容性信息的主要来源)
  • 对javascript的重新介绍(很棒的文章)
  • 道格拉斯·克罗克福德视频系列
  • 面向对象的javascript简介
  • javascript原型继承
  • ECMAScript语言规范

工具:

  • 调试程序
    • 火狐的Firebug
    • 歌剧《蜻蜓》
    • 开发人员工具(Safari/WebKit)
    • IE8开发人员工具


你问题中最重要的部分是

[how do] experienced Javascript developers ... get the basics of Javascript down in 24/28 hours

经验不是一晚、一周、一个月或一年就能得到的。经验是您在多年的努力工作中获得的东西,遇到错误、学习最佳实践、重新编写四年前编写的代码并问自己:"为什么我要这样做",为远远不完美的环境优化……

也就是说,如果你只有一个晚上的时间来学习足以让你变得危险的东西,那么就从最底层开始,一路往上爬。DanielVassallo已经为您提供了一个非常好的链接,不止一个人建议W3Schools快速浏览javascript和DOM。

但不要从这些开始。相反,首先尽你所能确定你明天想用JavaScript做什么。要做到这一点,你需要问自己两个简单的问题。

你的编程专业水平如何?你能在CC++中编写复杂的算法吗,偶尔也可以使用汇编程序的一些变体?您是否曾使用过类似于C#Java的稍微"更高级别"的语言进行过一个相当大的项目?你至少懂一种脚本语言吗?或者,"函数编程"、"基于类的继承"和"冒泡排序"这些短语对你来说一开始就毫无意义吗?如果你在前三个类别中的任何一个,花点时间在互联网上学习一些更好的教程,或者快速浏览一下stackoverflow问题,或者两个问题,你应该马上就可以开始运行了。如果您属于最后一个类别,那么您最好从基本的编程开始。不管你需要什么样的学习环境。这就引出了第二个问题…

你的平台是什么?您是否计划使用node.js进行一些服务器端编程?也许你打算在RhinoJScript环境中开发一些实用程序?如果这两种情况中的任何一种都是如此,那么阅读您将要开发的平台的文档将比阅读DOM有更好的帮助。另一方面,如果你正在计划为网络开发,那么你不能做得比用Firebug扩展抓取火狐更好,并且从构建一个简化版本开始,你明天要做的事情。

如果这些都对你没有任何帮助,那么希望在你读完之后,其他人会以更合适的方式回答这个问题…这就是StackOverflow的美妙之处。


如果你是从W3Schools教程开始的,你最多应该在几个小时内完成。在剩下的时间里,我建议看以下博客文章中列出的视频讲座:

  • 通过彼得里斯·克鲁明斯的视频讲座学习javascript编程语言

那篇博客文章的作者对每一个视频谈话都写了非常详细的观点,所以你可以对将要讨论的内容有一个非常清楚的了解。会谈由DouglasCrockford、JohnResig和NicholasZakas进行,他们都是JavaScript领域的重要人物。这些应该从你的周末花掉相当大的一部分,但它们应该作为一个非常好的介绍,当你通过"好的部分"的书。

JavaScript是一种非常有表现力的语言,我希望学习它会很有趣。当演讲者描述语言的一些好特性,如闭包和一流的函数时,您可以真正感受到他们在上述谈话中的热情。享受!


codecademy是一个非常好的网站,不仅可以学习javascript,还可以学习HTML和CSS以及其他一些东西。这个网站和其他网站有点不同。因为你将在这个网站上互动学习。


我或多或少处于你的处境中。我所做的是

  • 我读了"javascript,好的部分"。这是一本好书,但不要随便拿。例如,它对对象的使用,完全忽略了新的操作符和本机对象实例化机制,这显然是过度的。因此,很好地学习基于原型的机制。

  • 使用jquery并学习它。请记住,jquery是一个操作网页DOM的好库。添加节点、删除节点等等。jquery抽象了许多与浏览器相关的操作,因此您不会因为浏览器不兼容而生气。

  • 当你发现自己在一个麻烦的地方,用萤火虫找到麻烦。举个小例子,对没有var关键字引入的变量要非常小心,并且要始终考虑到this指的是拥有给定例程的对象,这可能是一个意外的事件。

JavaScript(和DOM上的JS)是一种很好的语言,但它的逻辑有时会令人费解。不要放弃。一旦你了解了它是如何工作的,它是相当直观的。


第二个是W3Schools的参考。我也喜欢javascript的短语手册,它有真实世界的例子,每个例子都有简要的解释。不要去研究语言的历史或理论,如果你想在一个周末内尽可能多地阅读,那可能是太多的阅读。


如果你学习的是javascript,那么你就应该去看看jquery和原型,因为它们可以帮助你编写跨浏览器的javascript,以及一些很好的资源来执行JS中更棘手的任务,比如动画等。