Joel一直说使用第三方库时要小心。从我的初步印象来看,jQuery非常棒。那么在使用它时我应该注意什么?有哪些限制?随着我使用它的次数增多,我将遇到哪些麻烦?
Joel一直说使用第三方库时要小心。从我的初步印象来看,jQuery非常棒。那么在使用它时我应该注意什么?有哪些限制?随着我使用它的次数增多,我将遇到哪些麻烦?
我已经广泛使用它,不得不承认,我还没有遇到任何严重的难题!我遇到了几个bug,需要自己快速修复,然后在下一个jQuery版本中进行额外的测试,以确保bug已被正确处理,但这适用于任何第三方库而不仅仅是jQuery。
我认为这是一个非常棒的库,虽然关于第三方库的建议很有价值,在这个Web 2.0世界中,Javascript的使用量已经飙升,浏览器之间存在许多小差异,拥有一个良好维护的库可以真正加速开发,因为它节省了你自己做所有工作的开销。
我猜如果我要发出一个警告,那就是确保你不要过度使用它-虽然它通过抽象掉你不需要担心的大量逻辑来加速Javascript开发,但总会有风险,即你会开始编写效率低下的应用程序,因为你不知道你正在向浏览器提出什么样的要求。因此,我建议你使用Firebug等工具进行大量分析,以检查底层发生了什么。
@ mjc
$("a tip")
.you()
.can()
.chain()
.stuff()
.like()
.this();
或者定义一个变量,用jQuery函数处理:
var $tip = $("a tip");
$tip.choo();
$tip.choo();
$tip.train();
我在使用jQuery时遇到的一个问题是,你需要将很多项链接在一起,如果不小心,很快就会变得难以阅读。
一个例子可以说明这一点,它来自John David Anderson的博客:
有个人写了一个日志记录函数,可以帮你找到你的位置 whenYoureCoding() 在(jQuery) trainWreck() 中间.
我能看出将事物链接在一起的力量,但我的猜测是,如果你需要在运行中记录控制台输出,那么你可能已经走得太远了。也许一周后你已经无法阅读它。
jQuery是非常好的 - 它可以做任何javascript能做的事情,但更快,并且代码更少。它的唯一限制是作为客户端脚本语言的javascript固有的限制。像任何工具一样,可能会被误用,但除非你的脚本需要非常基本,否则几乎没有理由不使用它。
@BrilliantWinter
jQuery并不是一个臃肿的库,它是当中最小的库之一。
所有的函数都是jQuery对象的扩展,这意味着您可以删除您不需要使用的任何功能,并使库的占用空间比其默认大小(15kb,经过压缩和Gzip处理)更小。
jQuery - 以及其他所有库 - 提供了一个API,它在所有A级浏览器中都是相同的。这种抽象使您的代码更清晰,减少出错的可能性。
最后,jQuery被主要的“玩家”所使用。像Google、Dell、Digg和NBC这样的公司使用该库。这不仅是一个重大的认可,而且也保证了jQuery的开发人员在修订库时非常谨慎,确保不会出现任何错误或引入任何错误。
我发现在编写任何有用的javascript时,jQuery都是不可或缺的。尽管如此,我曾经在一个网站上工作时想要做动画效果。我建议不要使用flash,而是使用jQuery包装得非常好的相对“简单”的动画效果,例如淡入淡出和滑动等。最终,浏览器无法承受这些效果(特别是IE,但FF也显示出压力),我们不得不将几乎所有的效果都缩小。
使用jQuery编码和实验非常有趣。它拥有一个非常棒的开发者社区,可以快速解决问题。只要小心不要过度使用就好了! :)
抱歉,John Resig。现在的人们可能会问“John是谁?”尽管他在我心中仍然是一个天才。但我希望他能够超越自己,创造出更好的东西。
有趣的是,事情是如何变化的。
如果 jQuery 不适合,您可以随时考虑其他框架。 这里是MooTools的示例。
MooTools是一款紧凑、模块化、面向对象的JavaScript框架,专为中高级JavaScript开发人员设计。它通过优雅、文档良好、一致的API,让你编写强大、灵活和跨浏览器的代码。