在学习jQuery之前学习JavaScript是一个好主意吗?[关闭]


73

在学习JavaScript框架库(例如jQuery,Prototype等)之前先学习JavaScript是个好主意吗?

有时我发现自己很挣扎,因为我觉得自己不太了解JavaScript。


53
我认为你回答了你自己的问题
埃德S.

大声笑,我想我做到了。最好是得到其他意见。
Xaisoft

@Ed Swangren:好点。不管下面的观点是什么,作者至少在与他/她自己的努力有关的范围内都回答了这个问题。
Dinah

Answers:


82

强调是的。学习所需的时间不会像您担心的那么长,而获得的回报将是值得的。


41

有时我发现自己在苦苦挣扎,因为我觉得自己不太了解Javascript?

我想你回答了自己的问题。


36
嘿,那是我的评论
Ed S.

1
我认为任何人在学习基础语言之前都不应使用框架。
UnkwnTech

1
@Unkwntech:我很难同意。学习C之前,我在C#中取得了惊人的进步,但我仍然不了解C ++
Dinah 2009年

17
@Dinah C#不是基于C或C ++构建的框架,它是一种完全不同的语言,其根源在于其前身。这等于说你不需要学习C.之前知道BCPL
凯文Lacquement

1
@Dinah:不一样。这更像是说您在不太了解C#的情况下编写.NET程序。C和C ++可能与C#具有历史联系,但实际上并没有像Unknwntech的声明那样成为其基础。
米斯科,2009年

22

我会反驳说,虽然理想情况下,您学习jQuery之前会精通JavaScript ,但您可以通过使用该库并进行编码在这两个方面都取得长足的进步。

jQuery的优势之一是它使在浏览器中执行某些操作变得更加容易。通过剪切,粘贴和改编其他人的代码,您可以完成很多实际工作,那么为什么不开始这样做呢?当您走时,遇到习语时您不太了解,请四处挖掘并找出其含义或工作方式。

随着时间的流逝,您将成为JavaScript和jQuery的高手。

如果您具有某种编程背景,那么可以阅读Douglas Crockford的JavaScript:The Good Parts,这是一本很好的书籍,可以帮助您快速掌握JavaScript。


不需要精通一种语言。
哈森

2
但是一个人愿意,如果一个人愿意的话,一个人当然会更好。
dkretz

2
+1它实际上可能迫使您变得更快,因为它迫使您使用一些您可能没有的Java习语。例如,将函数作为回调传递需要您熟悉函数的确切含义,并且还要处理嵌套变量范围。
deceze

2
我完全同意这个答案。当然,正确的做法是先学习javascript,然后再学习框架,但是老实说,在开始使用jQuery之前,我的JavaScript知识是CRAP,随着我对框架的了解越来越多,我对javascript的了解也越来越多。语言本身。因此,基本上jQuery间接地教我JavasScript
Pandincus 2010年

19

只要你学会了 JavaBASICS ; HTML文档遍历,事件处理等……学习jquery应该没有问题。

然后,通过学习基础知识,您将了解Jquery如何帮助您完成javascript可以完成的工作但工作量更少


2
我认为提供“如果您学习了基础知识,就可以用更少的工作做更多的事”的建议是不明智的。学习基础知识足以使您陷入困境。
yfeldblum

2
@Justice -jquery是使用javascript的另一种方法,它使客户端做的事情变得更简单,这就是我的意思,它的工作量减少了。基本原理意味着客户端如何处理呈现的代码
TStamper

10

您问题的答案是肯定的。jQuery,Prototype和其他功能可以克服跨浏览器的麻烦,并减轻AJAX,UI行为,DOM操作等的麻烦。如果您只是复制/粘贴代码片段或对Java语言没有真正的了解,那么您将得到一些非常糟糕的代码。

作为试题,您应该能够遵循Java精彩介绍中的所有内容。这是编写好的代码的最低要求,并且可能需要更多的Google搜索功能。只有这样,您才应该阅读Willison对jQuery同样好的介绍

那应该为您提供一个良好的起点。然后,如果您愿意的话,就可以开始消化Crockford(从Douglas Crockford开始-JavaScript:The Good Parts)。


4

是的,这是个好主意,因为jQuery为您提供了一些方法和效果的快捷方式。通过学习JavaScript,您将获得有关jQuery工作方式的完整信息。当您从事一个项目时,它将帮助您将来解决错误和问题。


3

称我为老式工具,但我认为最好先学习一种工具的基础知识,然后再继续使用高级表亲-就像在转而使用圆锯之前要具备手锯的能力一样。

如果您正在苦苦挣扎,那么您已经回答了自己的问题。我觉得一旦熟悉JavaScript,您就会有能力更好地利用JQuery。


2

当我开始从VBScript切换到JavaScript时,我立即迷上了Jquery。片刻之后,我开始真正理解JavaScript和Jquery是如何交互的,这让我感到困惑和沮丧。我的问题是希望使用Jquery的简单性,但是我觉得我不首先学习JavaScript就在欺骗自己。

原来,我同时学习了两者。当我编写JQuery例程时,我发现有必要学习JavaScript,以便了解事物按其工作方式运行的原因,并有助于使某些Jquery例程正常工作。

我仍在学习JavaScript和Jquery,但我不太担心成为JavaScript的高手,因为我知道我的理解会随着需要而增长。一定要对JavaScript有一些基本的了解,但是我想您应该专注于学习如何完成特定的任务,而不是在JQuery之前学习JavaScript。

我的价值$ 0.02。


2

如我所见,jQuery只是使您的生活更简单的框架。jQuery本身是用javascript编写的。因此,它有助于学习javascript。

提醒您,您不需要成为高手,但应该能够进行必要的更改/变通,而仅凭jQuery所能做的还不够。


2

在某种程度上,但不要像在Java世界中那样迷上面向对象的编程(无论如何,在javascript中都是原型)。从长远来看,对闭包/匿名函数以及如何使用特殊变量“ this”(特别是关于诸如click之类的事件)以及“ apply”之类的函数的理解将有帮助。我还要确保您真的了解CSS选择器,因为它们是jQuery以及几乎所有其他JS框架的核心功能。

您还需要熟悉如何使用firebug的全部功能。

我还要假设您对DOM的工作有基本的了解或知识。

这是修补Javascript的开始。


2

jQuery(或任何其他框架)的价值主张不仅来自它对javascript的作用。它还基于DOM,HTML和许多与语言无关的模式构建。您无需深入了解所有内容即可发现有用的框架。当然,如果您了解所有方面,就会更好,但是我们都需要从更少的方面入手。

我同时学习了jQuery和javascript,以这种方式对我来说效果很好。

我认为问题不是要首先学习的问题,而是更多的要点,您需要期望逐渐熟悉所有部分以及它们如何协同工作。

对我来说,这与您开始使用WebForms之前需要知道的问题有些(不完全)相同。当然,如果您已经熟悉C#(以及相同的DOM和html),那就更好了,但是使用WebForms作为教育工具是合法的。框架可以说同样的话。


2

假设您应该了解有关Java的以下知识:

  1. 对于浏览器IE6-IE8,FireFox,Opera,Safari,如何计算绝对/相对位置DIV的X和Y元素偏移(针对特定情况,每种浏览器都有不同的模型)。

  2. 什么是闭包以及如何创建它。

  3. 如何在上面列出的浏览器中创建onLoad事件。

  4. 举一个HTML / Javascript代码示例,您可以使用纯HTML代码,例如

<a href="" rel="remove">删除</a>

以及使用“ rel”属性以自动模式为A标签添加特殊处理程序的javascript代码。

熟悉这个之后,您可以使用jQuery库来隐藏它的复杂性:)

问候,帕维尔


2

我认为学习事件是文档对象模型,而JavaScript表单编程足以开始使用jQuery。


1

当然,不用说。如果您不先学习JavaScript,该如何使用jQuery?毕竟,jQuery只是JavaScript库。


学习jQuery API不能替代学习和理解javascript作为一种语言
Greg Dean

1

是。

您显然不需要学习所有内容有关JS的知识。但是至少要学习基础知识,并尝试学习一些最佳实践。

对我来说,关于Javascript最棘手的部分是它在不同浏览器中的所有不同实现。但是您可以做某些事情来帮助自己避免其中的一些问题。例如,通常首选使用document.getElementById()来访问DOM中的元素,因为它在所有现代浏览器中的工作原理基本相同。另外,几乎总是最好使用功能检测而不是浏览器检测。这样的小事情对于避免以后在特定浏览器中出现问题大有帮助。

幸运的是,JQuery编写的跨浏览器兼容性很好,但是有时候您可能不想直接使用它,并且可能不得不依靠JS技能。


1

浏览器中的JavaScript实际上有两个独立的方面。首先是JavaScript语言,其次是HTML DOM,它使您可以使用JavaScript语言来操纵页面。

也就是说,是的,您应该花时间学习JavaScript语言。我建议拿起Douglas Crockford“ JavaScript:The Good Parts”的副本。

现在到第二部分,HTML DOM。如果要使用jQuery之类的框架,您实际上不需要过多地专注于学习HTML DOM的来龙去脉。只需使用“ jQuery方式”进行操作,然后根据需要选择尽可能多的HTML DOM。


0

足以调试您的代码。否则,您将永远无法找出无法解决的问题。


0

学习JS将使编写JQuery的工作变得更加轻松,但是我不明白为什么您必须首先学习它。您最终将只需要学习它。


0

我的第一个想法是,学习新知识总是很不错,并且Javascript变得无处不在(现在在服务器端))。

看来您仍未确定最佳答案,AFAIK于3月21日之前发布了此问题。我认为有足够的时间至少阅读是一个很有才华的人写的。

如果您学习JavaScript,您将永远不会问这样的问题:

在我的代码段竞赛中,意味着什么关键字?

但是,如果您总是很着急,而又没有时间来改进代码,或者如果您永远不必构建jQuery插件,那就不用Javascript。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.