【问题标题】:Is it a good idea to learn JavaScript before learning jQuery? [closed]在学习 jQuery 之前学习 JavaScript 是个好主意吗? [关闭]
【发布时间】:2009-03-21 02:48:54
【问题描述】:

在学习 jQuery、Prototype 等 JavaScript 框架库之前学习 JavaScript 是不是一个好主意?

有时我发现自己在苦苦挣扎,因为我觉得我对 JavaScript 的了解不够深入。

【问题讨论】:

  • 我认为您回答了自己的问题
  • 大声笑,我想我做到了。不过,获得其他意见是件好事。
  • @Ed Swangren:好点。不管下面的观点是什么,作者几乎都回答了这个问题,至少就他/她自己的努力而言。

标签: javascript jquery


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    有时我发现自己在挣扎 因为我觉得我不懂 Javascript 我也应该这样做?

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

    【讨论】:

    • 嘿,这是我的评论
    • 我认为任何人在学习底层语言之前都不应使用框架。
    • @Unkwntech:我很难同意。我在C#方面取得了惊人的进步在学习C之前我仍然不懂C++
    • @Dinah C# 不是基于 C 或 C++ 构建的框架,它是一种完全不同的语言,源于其前身。这就像说你不需要在学习 C 之前了解 BCPL。
    • @Dinah:那不一样。这更像是说您在没有真正了解 C# 的情况下编写 .NET 程序。 C 和 C++ 可能与 C# 有历史联系,但在 Unknwntech 声明的上下文中,它们并没有真正成为 C# 的基础。
    【解决方案3】:

    我会反对说,虽然理想情况下你会在学习 jQuery 之前精通 JavaScript,但你可能会通过加入该库并使用该库进行编码,从而在这两个方面取得很大进步.

    jQuery 的优势之一是它可以更轻松地在浏览器中执行某些操作。您可以通过剪切、粘贴和改编其他人的代码来完成很多实际工作,那么为什么不开始这样做呢?当你去的时候,当你遇到一个你不太理解的成语时,四处挖掘并找出它的含义或它是如何工作的。

    随着时间的推移,您将成为 JavaScript 和 jQuery 的大师。

    如果您有任何编程背景,Douglas Crockford 的JavaScript: The Good Parts 是一本可以帮助您快速掌握 JavaScript 的好书。

    【讨论】:

    • 不需要精通一门语言。
    • 但是一个人想成为,如果有一个人当然会更好。
    • +1 它实际上可能会迫使您更快地变得更好,因为它会迫使您使用一些您可能没有的 Javascript 习语。例如。将函数作为回调传递需要您习惯函数的确切含义,并且还要处理嵌套的变量范围。
    • 我非常同意这个答案。诚然,正确的做法是先学习 javascript,然后再学习框架,但老实说,在我开始使用 jQuery 之前,我的 javascript 知识是 CRAP,随着我对框架的了解越来越多,我对语言本身。所以基本上 jQuery 间接地教会了我 JavaScript
    【解决方案4】:

    只要你学会了BASICS in Javascript; HTML文档遍历、事件处理等……学习jquery应该没问题。

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

    【讨论】:

    • 我认为提供“如果你学习了基础知识,你可以用更少的工作做更多的事情”的建议是不明智的。学习基础知识就足以让你陷入困境。
    • @Justice -jquery 完全是另一种 javascript 方法,它使客户端做事更简单,这就是我的意思,用更少的工作......基本意思是客户端如何处理呈现的代码
    【解决方案5】:

    您的问题的答案是肯定的。 jQuery、Prototype 和其他工具可以解决跨浏览器的难题并简化 AJAX、UI 行为、DOM 操作等。如果您只是复制/粘贴 sn-ps 或没有真正了解Javascript。

    作为试金石,您应该能够遵循wonderful re-introduction to Javascript 中所说的所有内容。这是编写好代码的最低要求,您可能需要更多的谷歌搜索。只有这样你才能阅读威利森同样出色的introduction to jQuery

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

    【讨论】:

      【解决方案6】:

      是的,这是一个好主意,因为 jQuery 为您提供了一些方法和效果的快捷方式。通过学习 JavaScript,您可以全面了解 jQuery 的工作原理。它将帮助您在将来从事项目时解决错误和问题。

      【讨论】:

        【解决方案7】:

        称我为老式,但我认为最好先学习一种工具的基础知识,然后再学习它的高级表亲——就像在使用圆锯之前熟练掌握手锯一样。

        如果您遇到困难,您已经回答了自己的问题。我觉得一旦你熟悉了 JavaScript,你就能更好地利用 JQuery。

        【讨论】:

          【解决方案8】:

          当我开始从 VBScript 切换到 JavaScript 时,我立即被 Jquery 迷住了。不久之后,我开始真正了解 JavaScript 和 Jquery 是如何相互作用的,我变得有点困惑和沮丧。我的问题是希望使用 Jquery 的简单性,但我觉得我没有先学习 JavaScript 是在欺骗自己。

          原来我是同时学的。在我编写 JQuery 例程时,我发现需要学习 JavaScript 以了解为什么事情会以它们的方式运行,并帮助使某些 Jquery 例程正常工作。

          我仍在学习 JavaScript 和 Jquery,但我不太关心成为 JavaScript 大师,因为我知道我的理解会随着需要而增长。对 JavaScript 有一些基本的了解肯定会有所帮助,但我想说你应该专注于学习如何完成特定任务,而不是在 JQuery 之前学习 JavaScript……

          我的价值 0.02 美元。

          【讨论】:

            【解决方案9】:

            在我看来,jQuery 只不过是一个让您的生活更简单的框架。 jQuery 本身是用 javascript 编写的。所以它有助于学习javascript。

            请注意,您不必成为大师,但应该能够做出必要的更改/解决方法,当您仅使用 jQuery 可以做的还不够时。

            【讨论】:

              【解决方案10】:

              在某种程度上,但不要像在 java 世界中那样沉迷于面向对象的编程(在 javascript 中它无论如何都是原型设计)。从长远来看,有助于更好地理解闭包/匿名函数以及如何使用特殊变量“this”(特别是关于点击等事件)以及“应用”等函数如何工作。我还要确保你真正理解 CSS 选择器,因为它们是 jQuery 和几乎所有其他 JS 框架的核心特性。

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

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

              这是 Javascript 修补的开始。

              【讨论】:

                【解决方案11】:

                jQuery(或任何其他框架)的价值主张不仅仅来自它对 javascript 所做的事情。它还建立在 DOM、HTML 和许多与语言无关的模式之上。而且您无需深入了解所有内容即可找到有用的框架。当然,如果你知道所有的部分,你会更好,但我们都需要从更少的东西开始。

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

                我认为问题不在于先学习哪个,而更重要的是,您需要期望越来越熟悉所有部分以及它们如何协同工作。

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

                【讨论】:

                  【解决方案12】:

                  假设您应该了解以下关于 Javascript 的知识:

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

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

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

                  4. 有一个 HTML/Javascript 代码示例,其中您有纯 HTML 代码,例如

                  删除

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

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

                  问候, 帕维尔

                  【讨论】:

                    【解决方案13】:

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

                    【讨论】:

                      【解决方案14】:

                      当然,这是不言而喻的。如果您不先学习 JavaScript,如何使用 jQuery?毕竟,jQuery 只不过是一个 JavaScript 库。

                      【讨论】:

                      • 学习 jQuery API 无法替代学习和理解 javascript 作为一门语言
                      【解决方案15】:

                      是的。

                      您显然不需要了解关于 JS 的一切。但至少要学习基础知识,并尝试学习一些最佳实践。

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

                      幸运的是,JQuery 在跨浏览器兼容性方面写得很好,但有时您可能不想直接使用它,而您可能不得不依靠自己的 JS 技能。

                      【讨论】:

                        【解决方案16】:

                        浏览器中的 JavaScript 实际上有两个不同的方面。首先是 JavaScript 语言,其次是 HTML DOM,它允许您使用 JavaScript 语言操作页面。

                        也就是说,是的,您应该花时间学习 JavaScript 语言。我建议拿起一份"JavaScript: The Good Parts" by Douglas Crockford

                        现在说到第二部分,HTML DOM。如果您打算使用像 jQuery 这样的框架,那么您真的不需要过多地专注于学习 HTML DOM 的来龙去脉。只需按照“jQuery 方式”做事,然后在此过程中尽可能多地获取 HTML DOM。

                        【讨论】:

                          【解决方案17】:

                          足以调试您的代码。否则,您将永远无法弄清楚什么是行不通的。

                          【讨论】:

                            【解决方案18】:

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

                            【讨论】:

                              【解决方案19】:

                              我的第一个想法是,学习新东西总是好的,而且 Javascript 正变得无处不在(现在也在 server side 上)。

                              看来您还没有为您和 AFAIK 确定最佳答案,这个问题是在 3 月 21 日之前发布的......我看到有足够的时间阅读至少 this 是由一个非常有才华的人写的。

                              如果你学习 javascript,你永远不会问这样的问题:

                              关键字this在我的sn-p代码竞赛中是什么意思?

                              但是如果你总是很匆忙,没有时间改进你的代码,如果你从来不用构建 jQuery 插件,那就不用 Javascript。

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 2010-09-15
                                • 1970-01-01
                                • 1970-01-01
                                • 2010-11-28
                                • 1970-01-01
                                相关资源
                                最近更新 更多