【发布时间】:2009-04-20 20:33:33
【问题描述】:
复制:
我已经读过很多遍了...“我会先学习 JavaScript,然后再学习 jQuery 之类的东西”——但这真的适用于所有情况吗?当然,有些人想知道幕后发生了什么,但是直接阅读 jQuery 教程/书籍有什么严重的负面影响吗?我想在业余时间学习一些东西,我决定使用 jQuery(或者 JavaScript,如果任何人都足够强烈地说服我的话)。
【问题讨论】:
标签: javascript jquery
我已经读过很多遍了...“我会先学习 JavaScript,然后再学习 jQuery 之类的东西”——但这真的适用于所有情况吗?当然,有些人想知道幕后发生了什么,但是直接阅读 jQuery 教程/书籍有什么严重的负面影响吗?我想在业余时间学习一些东西,我决定使用 jQuery(或者 JavaScript,如果任何人都足够强烈地说服我的话)。
【问题讨论】:
标签: javascript jquery
jQuery 是一个库,而不是一种语言。你基本上说过,“我正在考虑学习如何写英文歌曲。有人说你应该先学习英语,但我不相信这值得,我只是想摇滚。”
您可能仍然可以在不先学习 JavaScript 的情况下学习 jQuery,但您最终将不会了解 jQuery 的实际工作原理,并且可能会接受它的魔力。祝你好运,当 jQuery 出现故障或无法按预期工作并且无法弄清楚代码损坏的原因时。
JavaScript 是一门优美的语言,它本身就值得学习。从这里开始:Eloquent Javascript。
【讨论】:
典型的推荐“在jQuery之前学习JS”的原因是因为你会发现自己太多次问自己一些jQuery sn-p是如何工作的,而这不是jQuery的问题而是JS语法/等等(例如闭包) )。
去 JS,你不会失望的。
【讨论】:
这就像在使用 Cocoa 之前询问是否值得学习 Objective-C。这是一个奇怪的问题,因为 Cocoa 是用 Objective-C 编写的,就像 jQuery 是用 JavaScript 编写的一样。当你学习 jQuery 时,不管你喜欢与否,你都会学习一些 JavaScript。
我认为您想知道的更多是“我应该学习 jQuery 使用其核心库和插件绕过的底层 JavaScript 吗?”当然,这取决于情况;如果您急需代码,最好单独学习 jQuery。但是由于您的目标似乎是在业余时间学习一些东西,我个人认为在深入研究 jQuery 之前学习基本的 JavaScript 是个好主意:
【讨论】:
对此毫无疑问。 jQuery 是 JavaScript。如果您直接跳入 jQuery,您将严重妨碍自己。您的代码将很慢且无法维护。 jQuery 是一种 API,它不是一种语言。
事实上,你可以尝试跳入 jQuery,但我怀疑你会走得很远,而不会对原本微不足道的障碍感到沮丧。至少,你应该了解Re-introduction to JavaScript中的概念。
【讨论】:
实际上这是非常好的建议。
问题是这样的。 Javascript 的工作方式与大多数其他流行语言的工作方式不同。如果您深入研究 Javascript,并认为它类似于 Java、C#、Perl、PHP 等,那么您最终会认为 Javascript 是一种奇怪的、不一致的突变语言,没有任何意义。这并不是因为 Javascript 没有意义,而是因为 Javascript 的基础不同。 Javascript 是一种面向对象的语言,但它不是基于类的,而是基于原型的。语法与您可以很好地工作的地方非常相似,认为 Javascript 是基于类的,直到一切都出现可怕的错误。
首先学习 Javascript,至少是基础知识。这并不难,您甚至不需要特殊的 IDE 或编译器,因为您可以使用浏览器或 WSH。如果您使用 jQuery,学习 Javascript 的基础知识肯定会有所收获。
【讨论】:
大量学习和使用 jQuery 是为了免费 开始的,因为它提供了一种直接的生产力感,所以可以激励他们。然而,确实有一点,您需要了解 JavaScript 才能有效地使用 jQuery 或任何其他 JavaScript 框架。例如,在编写插件和实用程序函数时,这一点尤为重要。
【讨论】:
出于同样的原因,VB6 程序员需要了解 Windows API 才能完成任何事情,而 VB.NET 和 C# 程序员至少需要知道 MSIL 是什么样的,你应该对 JavaScript 足够熟悉才能理解 jQuery 正在做什么. JavaScript 中内置了很多遥远的东西,大多数人永远不需要使用,但如果你不知道它的存在,你总是会忽略解决问题的好方法。
【讨论】:
JQUERY 只是一个库,而不是像 JAVASCRIPT 这样的语言的替代品。仅仅学习图书馆,你不会在软件开发领域取得进步。对核心语言有基本的了解总是更好的方法。当然,一旦你掌握了这一点,你就可以并且应该明确地使用 JQUERY 之类的库。
【讨论】:
我强烈地感觉到 JavaScript 是一个比 jQuery 或其任何兄弟姐妹更重要的概念。这些库非常棒,我很难想象没有它们的帮助在客户端做任何事情,但它们本身只提供一些工具和一些华丽的修饰。要真正完成任何真正的逻辑,您需要对 JavaScript 和浏览器中可用的对象有很好的理解。
【讨论】:
如果您曾经用任何普通语言写过任何东西,那么您的问题的简短回答是是。
如果您想知道原因,请观看 Douglas Crockford(JS 大师)的 JavaScript the good parts。
【讨论】: