我开始使用Javascript进行HTML5移动开发,但注意到我也可以使用jQuery库。我的问题是,除了要求你编写更少的代码之外,jQuery还能做什么吗? Javascript的性能更快吗?抱歉新手问题,但我找不到答案,真的对差异感兴趣。提前致谢
答案 0 :(得分:7)
jQuery是一个用JavaScript构建的库。你抽象得越多,性能就越差。例如,仅使用本机DOM方法选择元素将比使用jQuery执行相同操作更快。
所以问题不是“找出哪一个更快”,你已经知道jQuery会变慢。问题更像是“表现值得吗?”。是的,大部分时间都是因为你在编写代码时节省的时间比你获得的性能更有价值,大部分时间都可以忽略不计。
另一个因素是您的vanilla JavaScript代码的质量。 jQuery已经过多年的测试和维护,并且显示出来了。
答案 1 :(得分:0)
你的问题不应该是#34;我应该使用jQuery还是普通的JavaScript"而是#34;我应该使用哪个库?"。没有人应该开始一个零代码的实质项目,他们应该至少有一个很好的强大,经过测试的代码集合,可以很容易地整理成一个库或工具包。
通用库的问题在于它必须提供通用解决方案,因此为什么jQuery有4,000行代码,任何一个项目可能只需要几百行。有些库有很多代码行。如果您使用其他人的库,您通常会受到更新计划的约束,最终可能会使用需要不同版本库的插件。
如果您拥有自己的库,或者在您的工作区中开发和维护的库,您可以获得相同的代码重用,并可以根据项目进行裁剪。 jQuery(和大多数通用库)是单片的:它全部或全部,你不能只包含一部分或另一部分(例如,你可能只需要一个好的 addListener 函数)。您自己的库可以是模块化的,因此您只需包含所需的代码,并且可以避免一般库必须处理的许多跨浏览器问题。大卫马克" MyLibrary"是极少数模块化库之一。
此外,跨浏览器的差异越来越少,DOM API越来越丰富,因此使用通用库的需求越来越少。例如。没有人会占用 document.all ,或者对不支持 addEventListener 或 attachEvent 的浏览器感到烦恼。一旦对IE 6和7的支持可以被删除(几年),使用单片第三方库几乎没有理由,模块化将是关键。一切都将是一个插件,不需要基础库,或者基础库将非常小,以提供基本DOM功能的通用API。