在这里,jquery被归为框架类别: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jQuery是JavaScript库还是框架?
在这里,jquery被归为框架类别: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jQuery是JavaScript库还是框架?
一个库。根据主页所说,我也同意。
框架通常是强制实现某种解决方案的工具,而jQuery只是一个工具,可以使您更轻松地实现想要做的事情。
而jQuery只是一个单独的库。接下来它说:它是一组提供了定义的应用编程接口的软件库。
因此,我认为它不是一个框架。框架包含区别于普通库的关键特征:
- 控制反转 - 在框架中,与库或普通用户应用程序不同,整个程序的控制流不是由调用者决定,而是由框架决定。
“Framework”和“library”并不一定是互相排斥的术语。框架通常是一个库或者几个库的集合。
严格来说,jQuery是一个库,但在某种程度上,它确实符合软件框架的定义。虽然许多人会争辩说jQuery严格意义上不符合软件框架的定义,但事实是,没有其他JavaScript框架完全符合框架的定义。
软件框架的一个定义特点是其代码受到保护以防止修改。在JavaScript中,这显然不是这种情况。可以调用到客户端代码的任何库或框架都是可修改的,尽管修改它们违反最佳实践。因此,如果可以将Bootstrap或AngularJS称为框架,则没有理由不能将jQuery称为框架。 此链接 包含了更详细的解释,说明了jQuery如何满足被称为框架的标准。
或许最好的解释为什么jQuery更像是一个框架而不是一个库,是作为开发者,您可以选择不使用其类似框架的功能。例如,您可以在同一行中混合使用简单的jQuery语句和标准JavaScript语句。AngularJS和Bootstrap通常不允许您这样做。因此,关于jQuery是否是框架的准确答案是“取决于您选择将其用作框架还是库”。
ready()
。 - Nathan Tuggy