JQuery的局限性是什么?
乔尔总是说在使用第三方库时要小心。从我的初步印象来看,JQuery很棒。使用时应注意什么?有什么限制?以后再使用时会遇到什么头痛?
解决方案
我在jQuery中遇到的一件事是,我们最终将许多项目链接在一起,如果不小心,它往往会很快变得不可读。
我可以想到的一个例子可以说明这一点,该例子在John David Anderson的博客上:
There’s a guy who wrote a logging function so you can figure out whereYou(are).whenYoureCoding().inThe(middleOf).a(jQuery).trainWreck(). I can see the power of chaining things together, but my guess is you’ve probably gone too far if you’re needing to log things to the console mid-swing. There’s probably little to no chance you’re going to be able to read it a week from now, too.
我已经广泛使用它,我不得不承认,我还没有遇到任何严重的砖墙!我遇到了几个错误,必须为自己找到一个快速修复,然后对下一个jQuery版本进行额外的测试,以确保已正确处理了该错误,但这适用于任何第三方库,而不只是jQuery。
我认为这是一个很棒的库,尽管有关第三方库的建议很有价值,但在此Web 2.0世界中,JavaScript的使用量激增,浏览器之间的差异如此之小,但拥有一个维护良好的库可以真正加快开发速度,因为它可以节省我们自己要做所有繁琐工作的开销。
我想如果要发出一个警告,那将是确保我们不要过分关注它,同时它通过抽象出不需要担心的逻辑负载来真正加速Javascript开发,始终存在着风险将会开始编写效率低下的应用程序,因为我们无法完全了解我们对浏览器提出的要求。因此,我建议我们使用Firebug之类的工具进行大量分析,以检查引擎盖下的情况。
如果jQuery不适合,我们可以始终考虑不同的框架。
这是mootools的示例。
MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.
我是jQuery的忠实拥护者(我为它编写了插件和Dashboard小部件就证明了这一点)。
要注意的一件事是jQuery支持哪些浏览器。 docs网站目前似乎有问题。这是另一件事... ;-)
jQuery很棒,它可以完成javascript所能做的一切,但是速度更快,并且用更少的代码。它的唯一局限性是javascript作为客户端脚本语言固有的局限性。像任何工具一样,也可能会滥用,但是除非脚本需求非常基础,否则几乎没有理由不使用它。
我在博客阅读中遇到了以下内容。这实际上不是jQuery的局限性,而是使用jQuery的ASP.NET开发人员时常犯的错误:
http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/
我发现在编写几乎任何有用的javascript时jQuery都是必不可少的。也就是说,我正在研究的一个站点想要制作动画。我建议不要使用Flash,而是使用jQuery很好地执行jQuery打包的相对"简单"的动画。我们使用了淡入淡出和滑动等等。最后,浏览器无法处理太多(特别是IE,但FF表现出压力的迹象),我们不得不将其几乎全部缩减。
jQuery非常有趣,可以进行编码和试验。它有一个很棒的开发人员社区,可以很快地解决问题。请注意不要太过迷恋! :)
@mjc
$("a tip") .you() .can() .chain() .stuff() .like() .this();
和/或者定义一个变量,在以下变量上使用jQuery函数:
var $tip = $("a tip"); $tip.choo(); $tip.choo(); $tip.train();
@ BrilliantWinter
jQuery一点也不肿。它是那里最小的库之一。
它的所有功能都是jQuery对象的扩展,这意味着我们可以分离任何不使用的功能,并使库的大小甚至小于其默认大小(15kb,缩小和压缩)。
jQuery和其他所有与此相关的库都提供了一个API,该API在所有A级浏览器中都相同。这种抽象使代码更整洁,并且不易出错。
最后,主要的"玩家"使用jQuery。像Google,Dell,Digg和NBC这样的公司都在使用该库。这不仅是一个很大的认可,而且可以保证jQuery的开发人员在修改该库时要非常小心,确保没有任何中断并且没有引入任何错误。
@BrilliantWater大多数人不使用jQuery来"学习",而是使用jQuery,因为它比使用自己创建所有方法更快捷,更容易使用,并减少了头痛。整个" blo肿"的论点完全没有根据。 jQuery是目前最小的库之一,越来越多的人使用宽带,这已成为越来越少的问题。
另外,由于jQuery由GoogleCode托管,因此可能有很多网站在使用它,因此它已经在用户缓存中了!
jQuery很棒!我一直对自己说,我需要学习另一个图书馆,但我确实不需要。 jQuery具有我需要的一切。我知道它并不适合所有项目,但在大多数情况下都可以占有一席之地!
我已经使用了大约6个月,除了我团队中一些较慢的开发人员不接受它(可能是由于某些较长的链条令人生畏的样子)之外,我还没有遇到任何问题。