学习JavaScript ……我应该直接跳到好东西(框架)吗?

几年前我学习了HTML / CSS,然后是PHP。 我最近再次对Web开发很感兴趣,刚开始玩Django和RoR这样的框架。 我很好奇在看框架之前我应该​​花多少时间/精力学习JS。 我一直在阅读Brett McLaughlin撰写的一篇名为Mastering AJAX的文章,看起来相当不错,但我看到很多东西(例如跨浏览器兼容性 – 甚至像XMLHttpRequest这样的东西)即将出现如果使用框架,则不会出现问题。

那么,我应该继续阅读这些文章并尝试使用基本的JS构建内容,还是应该开始研究jQuery之类的东西?

另外,我一直在观看一些关于Google I / O中GWT的video。 去年我一直在学习Java,在其中构建了一些中型应用程序。 我想知道GWT是否值得直接使用,还有gQuery?

从JavaScript的基础知识开始是一个好主意,恕我直言。

阅读JavaScript:The Good Parts ,作者: Douglas Crockford 。 非常非常好的书。

封面为JavaScript:道格拉斯克罗克福德的好零件

您还应该查看Douglas Crockford的网站 。

我还必须回到这里并在更新中提到这一点:

道格拉斯·克罗克福德(Douglas Crockford)在今年早些时候的微软MIX10大会上发表了一篇关于JavaScript(过去,现在,未来)的有启发性的演讲。 您将在Microsoft MIX10 – The Tale of JavaScript中找到Crockford演讲的完整video 我的意思是ECMAScript

没有。

就像你学习编程时一样,你先学习C / Pascal然后是Java / C ++,最后是Python / Ruby / Smalltalk / Lisp,当学习任何语言时,你应该先学习简单的语言结构,首先要学习ECMAScript,然后学习DOM最后是框架。

为什么? 因为您将对语言有更深入的了解,并且能够调试可能看似奇怪的事情,除非您有这种学习经验。

如果你是一个经验丰富的开发人员,你可以加快每个阶段,但不要跳过它们,否则你因为不完全理解小怪物而遇到问题。

Javascript是一种有趣且有趣的语言,但有时可能会很奇怪( Date在屁股上咬了几次)。

使用框架来避免重复性任务并简化代码,但不能作为起点。 简单是最终目标,而不是起点,框架就是为了简单,而不是为了学习语言。 框架旨在简化经验丰富的开发人员的工作。


了解浏览器之间的差异(DOM实现)将允许您调试框架。 那是无价之宝。


我去年一直在学习Java ……

Javascript 不是 Java 。 永远不会永远不会。

即使您可以从Java 编译为 Javascript,它仍然是一个框架,除非您已经知道自己在做什么,否则不要跳到它。

我认为“两者都有”。 把它混合起来。 玩一个框架。 当你尝试做一些真实的事情时,你会陷入困境,所以你会拿起一些JavaScript来解决它。

很多优秀的jQuery书籍都会教你JavaScript。

这是了解如何使用其他语言编程的初学者javascript开发人员的最佳video之一:

这是John Resig去年在Northeastern所做的一次演讲,其中大部分是关于核心javascript的讨论,然后谈话的最后四分之一跳到了jQuery:

http://video.google.com/videoplay?docid=-7485992465859932389&ei=jhZUSu73OpfSrQLgyYV3&q=john+resig&hl=en

这实际上是一个非常有趣的技术讲座和演示,因为他确实有实例,而Resig非常善于展示。

与此问题中的其他人一样,我也强烈建议您阅读Javascript:The Good Parts以便更好地理解。

是的,直接跳到基于框架的编程而不是DOM是一个好主意。

在jQuery之类的任何主要框架出现之前我开始做JS,并且最初不愿意切换,但是当我第一次开始使用jQuery时,能够编写选择器和东西并且不必担心跨浏览器感觉非常好兼容性。

但是,JS的某些领域无法提供框架。 其中一个是用户脚本,您必须使脚本在您无法控制的站点上运行。 另一个这样的问题是在诸如XUL的应用程序中使用JavaScript。

总的来说,我建议你从一些简单的JS应用程序开始,然后切换到jQuery而不是继续讨论DOM的复杂主题。

是什么让你认为框架是好东西而JavaScript不是?

如果你问我,我会说JavaScript是一种非常有趣的语言,你应该先学习它。 JavaScript受到了糟糕的说唱,因为它主要用于浏览器脚本,而且那些浏览器都是错误的,让人觉得JavaScript很糟糕。

Crockford说JavaScript是世界上最容易被误解的语言 。

如果您之前的经验是使用PHP(或任何非函数语言),那么“一流函数”的概念将真正给您一个’aha’时刻。 ‘闭包’将是另一个简化代码的工具,会让你想知道为什么所有语言都没有它。 原型inheritance将向您显示OOP的替代品。 我肯定建议你在跳转到任何框架之前先学习JavaScript。 我必须补充一点,你还必须学习概念(第一类函数/闭包/原型inheritance),以便有效地使用任何JS框架,因为所有框架都利用了JavaScript的特性。

要学习JavaScript,请获取Crockford的“JavaScript,The Good Parts”一书,并尝试使用符合标准的浏览器(比如Firefox [与FireBug],Safari,Chrome)学习该语言,而不关注DOM操作。 Simon Wilson的演讲也很好。

一旦你对语言有了良好的感觉,继续下一步即操纵DOM。 我个人建议您尝试使用裸骨JavaScript进行一些DOM操作,以便更好地理解DOM和所涉及的痛点。 [例如,当我为onClick事件附加一个方法时,’this’并不是指我认为它指的是什么?]

通过手动进行DOM操作后您会感受到一些痛苦,然后转到JavaScript框架,它可以消除所有的痛苦并让JavaScript再次变得有趣。 就个人而言,我强烈建议jQuery优于其他框架 。

如果您在JavaScript旅程中有任何疑问,可以随时询问他们! :) 祝好运。

在对基础技术有基本的了解之前,我不会触及任何语言的任何框架。 值得的编码器是一种在没有知识的情况下使用工具的编码器。 JavaScript有一些令人悲伤的历史,但在其最新版本中,它的function非常强大,甚至令人着迷。 我说 – 学好它,然后使用适合你当前需要的任何框架

这取决于你想投入时间的地方。 理想情况下,我们都是汇编语言的专家,但这不现实或不实用。 我们必须选择我们的战斗。 然后我们通常会互相攻击以挑选错误的战斗,我们称之为“货物编码”。

就个人而言,在我可以花费大量时间敲打头脑的所有事情中,跨平台JavaScript的复杂性似乎没有其他选择那么有趣和有益,所以我决定直接跳到jQuery。 我很满意它是如何运作的。

我和你有相同的背景。 经过6个月的MooTools,我发现mootools间接教我“香草”javascript。

我听说有人说mootools更像是纯粹的javascript而不是jquery(毕竟,jquery的标语是“jQuery旨在改变你编写JavaScript的方式。”)。

我建议从框架开始。 许多最好的JavaScript开发人员使用框架。 一旦你感到舒服,你很可能会很容易地选择其他框架和简单的javascript。