选择jquery作为我的主要javascript库有哪些优点和缺点?
我已经启动了一个新的web应用程序,并决定使用jquery作为我的主要javascript库。。。但是我还是想从使用jquery的用户那里得到一些正反两方面的建议…所有的优点,没有缺点 唯一的问题是jQuery在加载文件和执行函数时增加的执行时间开销,但与编写跨浏览器兼容JavaScript的Pro相比,这算不了什么选择jquery作为我的主要javascript库有哪些优点和缺点?,javascript,jquery,Javascript,Jquery,我已经启动了一个新的web应用程序,并决定使用jquery作为我的主要javascript库。。。但是我还是想从使用jquery的用户那里得到一些正反两方面的建议…所有的优点,没有缺点 唯一的问题是jQuery在加载文件和执行函数时增加的执行时间开销,但与编写跨浏览器兼容JavaScript的Pro相比,这算不了什么 与其他JavaScript库相比,jQuery是速度最快、最小的库之一。他们的社区非常庞大,您可以很容易地找到支持和良好的文档。您已经做出了很好的选择,别担心。jQuery是一个设
与其他JavaScript库相比,jQuery是速度最快、最小的库之一。他们的社区非常庞大,您可以很容易地找到支持和良好的文档。您已经做出了很好的选择,别担心。jQuery是一个设计非常好的库——它功能强大、简洁、文档丰富,而且非常流行。好好学习它,它将是你的武器库中一个强大的工具 也就是说,我认为要真正了解它相对于其他框架的优缺点,首先应该好好学习它。只有深入了解一种工具,才能与其他工具进行真正的比较 Pro's
- 消除了许多跨浏览器javascript问题
- 可以在少量代码中执行复杂的Javascript操作
- 可以轻松地将Ajax功能添加到应用程序中
- 具有内置的UI和效果库
- 向页面添加额外javascript的开销
- 对于某些开发人员来说,学习曲线可能并不短
- 大社区
- 用于选择和迭代DOM节点集
- 消除浏览器之间的一些不一致
- 使没有经验的JavaScript开发人员能够轻松地执行相对复杂的脚本任务
- 更改现有行为的定期更新
- 一些令人困惑的基本API方法(例如,
method:它到底做什么?它肯定会模糊属性和属性之间的界限)attr()
- 鼓励“链接”,这会导致难以调试的代码:在一长串jQuery方法调用中,没有地方放置日志语句,因此需要一个完整的调试器
- 支持的浏览器的简短列表
- 关于通用库的一个普遍观点是:它们鼓励开发人员不要试图理解库试图解决的潜在问题,这会导致一种倾向,即认为库是神奇的,并将其用于一切
- 将70K JavaScript添加到每个使用它的页面,而通常只有几个字节的非jQuery代码就可以了
- 性能通常比等效的(经过深思熟虑的)非jQuery代码慢得多
- 插件的质量参差不齐
- 我能想到的唯一的弊病就是偶尔发生。它是javascript之上的一个很棒的框架,没有限制性
也就是说,jQuery UI对我来说太糟糕了,如果您的应用程序需要高度交互的UI,请尝试一下。优点:
如果你正在做一个JavaScript含量很高的富互联网应用程序,可以使用YUI或ExtJS。jQuery是一个优秀的DOM操作库,最适合于高度定制的UI工作。但是,如果您需要大量的库存UI和强大的数据管理系统,那么您需要一个更大的框架来将其连接在一起。我想说,与所有其他JS库相比,jQuery学习曲线最短。jQuery流行的原因之一。@Ivo:我同意。但同时,可能会做空。jQuery当然帮了大忙,但可能会妨碍开发人员学习真正的javascript。“可以用少量代码执行复杂的javascript操作”——这并不完全正确。“您”编写的代码很少,但执行某个操作所需的代码总量往往很重。Fredrik,如果您只使用jQuery功能的一部分,我会说这是正确的,否则您将不得不在自己的代码中复制该功能。我可以看到很大的偏差。看来你错过了一些专业。。。顺便说一句,它是19k,最小+gzip。链接本身并不是一个问题——你的经验可能会说相反,但你不能只是简单地说一句话,然后期望它成立。此外,采用一种方法(“attr”)然后说整个API“混乱”是疯狂的。。。我觉得你的许多观点都需要证实。J-P:我相信你已经意识到,我没有把gzipping计算在图书馆的规模之内,因为它并不总是会被gzipping的。此外,在考虑JavaScript解释器需要做的工作时,非gzip大小更为相关。关于你的其他几点,我将很快充实我的回答。你认为我缺少什么专业技能?我愿意接受一些我没有想到的想法。还有其他JS库。如果它将非常丰富,那么专注于提供小部件(比如ExtJS)的可能会更好。为什么这一点被否决了?他的回答中有什么是不正确的?“rich”不仅仅是“很多小部件”的同义词(尽管jQuery有很多这样的小部件,包括jqueryui)。jQuery是一个灵活的编程框架,而不仅仅是一组漂亮的控件和主题(后者可能很有用)