什么是jQuery的限制?

时间:2008-09-21 08:22:04

标签: javascript jquery dom

Joel总是说使用第三方库时要小心。从我最初的印象来看,jQuery很棒。使用它时我应该注意什么?有什么限制?当我更多地使用它时,我会遇到什么令人头痛的问题?

12 个答案:

答案 0 :(得分:8)

我已经广泛使用它,我必须承认,我还没有遇到任何严重的砖墙!我遇到了一些错误,我必须为自己找到一个快速解决方案,然后使用下一个jQuery版本进行额外的测试,以确保错误已得到妥善处理,但这适用于任何第三方库而不仅仅是jQuery。

我认为这是一个非常棒的图书馆,我必须说,虽然有关第三方图书馆的建议有其优点,但是在这个Web 2.0世界中Javascript的使用量已经飙升,并且浏览器之间存在很多差异,有一个<强大>维护良好的库可以真正加快开发速度,因为它可以节省您自己完成所有工作所需的开销。

我想如果我要发出一个警告,那就是确保你不要过度使用它 - 虽然它通过抽象掉你不需要担心的大量逻辑来加速Javascript开发,这里有总是存在风险,你将开始编写效率低下的应用程序,因为你没有意识到你对浏览器的要求。因此,我建议你使用Firebug等方法进行大量分析,以检查引擎盖下发生的情况。

答案 1 :(得分:7)

@ mjc

$("a tip")
.you()
.can()
.chain()
.stuff()
.like()
.this();

和/或定义一个变量,为其使用jQuery函数:

var $tip = $("a tip");
$tip.choo();
$tip.choo();
$tip.train();

答案 2 :(得分:5)

我遇到过jQuery的一个问题是你最终将很多项目链接在一起,如果你不小心的话,很快就会变得难以理解。

我能想到的一个例子说明这是John David Anderson's blog

  

有一个人写了一个日志记录   功能让你可以搞清楚   whereYou(是).whenYoureCoding()。在矿井(middleOf).A(jQuery的).trainWreck()。

     

我可以看到链接东西的力量   在一起,但我猜你是   如果你是的话,可能走得太远了   需要将内容记录到控制台   中间摇摆。可能很少   没有机会你能够   从现在开始一周阅读。

答案 3 :(得分:2)

jQuery很棒 - 它可以做任何javascript可以做的事情,但更快,并且代码更少。它唯一的局限是javascript中作为客户端脚本语言固有的限制。像任何工具一样,它可能会错过,但除非您的脚本需求非常基础,否则几乎没有理由不使用它。

答案 4 :(得分:2)

我在博客阅读中看到了以下内容。它不是jQuery中的限制,但是当使用ASP.NET开发人员使用jQuery时常犯错误:

http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/

答案 5 :(得分:2)

@ BrilliantWinter

jQuery并不臃肿。它是那里最小的图书馆之一。

它的所有功能都是jQuery对象的扩展,这意味着你可以分离你不使用的任何功能,并使库的占用空间甚至小于它的默认大小(15kb,Minified和Gzipped)。

jQuery - 以及其他所有库 - 提供了一个API,它在所有A级浏览器中都是相同的。这种抽象使代码更清晰,更不容易出错。

最后,jQuery被主要的“玩家”使用。 Google,Dell,Digg和NBC等公司都使用该库。这不仅是一个很大的批准,而且还保证jQuery的开发人员在修改库时非常小心,确保没有任何中断并且没有引入错误。

答案 6 :(得分:2)

@BrilliantWater - 大多数人不使用jQuery来“学习”,他们使用它是因为它更快更容易使用,并且比自己创建所有方法引起的麻烦更少。整个“臃肿”的论点完全没有实际意义; jQuery是最小的库之一,随着越来越多的人获得宽带,它变得越来越少。

另外,由于jQuery是由GoogleCode托管的,所以很可能它已经存在于用户缓存中,因为很多网站都使用它!

jQuery太棒了!我一直对自己说,我需要学习另一个图书馆,但我真的没有。 jQuery拥有我需要的一切。我知道它并不适合所有项目,但它肯定在大多数项目中占有一席之地!

答案 7 :(得分:1)

我发现jQuery在编写任何有用的javascript时都是不可或缺的。也就是说,我正在研究的一个网站想做动画。我建议不要使用flash,而是执行相对“简单”的动画,jQuery与jQuery打包得很好。我们使用了淡入淡出和幻灯片等。最后,浏览器处理得太多了(特别是IE,但是FF显示出压力的迹象),我们不得不将其几乎全部扩展回来。

使用jQuery编写代码并进行实验很有趣。它有一个出色的开发人员社区,可以很快地提出问题。小心不要太过分了! :)

答案 8 :(得分:1)

jQuery的唯一缺点是它太简单易用。你得到一个非常低的新手使用它并做一些非常奇怪和接近迟钝的事情。除此之外,jQuery非常漂亮,由天才和他的聪明程序员组成,可确保跨浏览器质量,减少开发人员的工作量。不能出错。如果您不喜欢jQuery,那么您有点偏离并且可能不经常洗澡。

<强>更新

这是我的一个非常古老的答案。如果使用querySelector和MDN引用,jQuery实际上已经不再需要了,因为大多数情况下浏览器已经融合为相同,除非你当然仍然生活在IE8的死亡土地要求中。 jQuery也存在于全球范围内,如果你正在构建现代JavaScript,那就很糟糕。 除了让一些旧的学校插件不使用模块化语法库之外,jQuery在这一点上并没有用。

开始关注模块化JavaScript,因为这是jQuery之后的趋势。注意es6 / es2015。开始使用React / React Native OR Angular 2来制作应用程序,因为它已经达到了一定程度。

抱歉,John Resig。在这一点上,人们就像“约翰是谁?”即使他在我的书中仍然是天才。我希望他能获得自己的成就,并且做得更好。

有趣的是事情发生了变化。

答案 9 :(得分:0)

如果jQuery不适合,你总是可以考虑不同的框架。 以下是mootools的示例。

  

MooTools是一款紧凑型模块化设备   面向对象的JavaScript框架   专为中间人设计的   高级JavaScript开发人员。它   可以让你写出强大的,   灵活的,跨浏览器的代码   它优雅,有据可查,而且   连贯的API。

答案 10 :(得分:0)

我是jQuery的忠实粉丝(我已经为它写过plug-inDashboard widget证明了这一点。)

要注意的一件事是which browsers jQuery supports。文档网站目前似乎有问题。这是另一件需要注意的事情......; - )

答案 11 :(得分:0)

我已经使用它大约6个月了,除了我的团队中一些较慢的开发人员不接受它(可能是因为一些较长的链条的令人生畏的外观)我没有碰到一个问题