是jQuery的JavaScript库或框架?

在这里,jquery是在框架类别中提到的: http : //en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

是jQuery的JavaScript库或框架?

图书馆。 根据主页 ,我同意。

框架通常是强制执行解决scheme的一种方式,而jQuery只是一个工具,可以让你更容易实现。

jQuery:写less,多做,JavaScript

当然,这是一个JavaScript库。 但是关于是否框架,我只是认为这不是一个框架。 看看wikipedia定义的软件框架 :

它是提供定义的应用程序编程接口的软件库集合。

而jQuery只是一个单一的库。 之后它说:

框架包含将它们与正常库分开的关键区别特征:

  1. 控制反转 – 在一个框架中,不像在图书馆或普通的用户应用程序中,整个程序的控制stream程不是由调用者决定的,而是由框架决定的。

所以,我认为这不是一个框架。

根据angularjs网站

  • 一个库 – 一个在编写Web应用程序时很有用的函数集合。 你的代码是负责任的,它会在进入图书馆时调用
    它看起来合适。 例如,jQuery。
  • 框架 – 一个Web应用程序的特定实现,您的代码填充细节。 这个框架是负责任的,当它需要一些特定的应用程序时,它会调用你的代码。 如杜兰,烬等

框架和libarry不一定是相互排斥的术语。 框架通常是一个libarry或一个库的集合。

严格来说,jQuery是一个库,但是在某种程度上,它确实符合软件框架的定义。 虽然很多人会认为jQuery不能很好地满足软件框架的定义,事实上,没有其他的JavaScript框架完全满足框架的定义。

软件框架的一个明确特征就是它的代码不受修改。 在JavaScript中,这显然不是这种情况。 可以调用到客户端代码中的任何库或框架都是可修改的,尽pipe改变它们的最佳实践是违背的。 因此,如果允许将Bootstrap或AngularJS作为框架调用,那么jQuery不能被称为框架也没有任何理由。 这个链接包含更详细的解释,说明jQuery如何满足被称为框架的标准。

也许最好的解释,为什么jQuery更像是一个框架而不是一个库,事实上,作为一个开发者,你可以select不使用任何类似框架的function。 例如,您可以在同一行中混合使用简单的jQuery语句和标准的JavaScript语句。 AngularJS和Bootstrap通常不允许你这样做。 因此,jQuery是否是框架的准确答案是“这取决于你是否select使用它作为框架”。

我同意这里的所有答案,jQuery本身确实是一个库,而不是一个框架。 正如赛义德的回答所指出的,关键的特征之一是控制的倒置。 但是,您可以使用jQuery的function来创build自己的框架。

示例:在jQuery之上构build的项目被定义为框架: jQuery Mobile:一个触摸优化的Web框架 , JavaScriptMVC和sammy.js等等。

还有其他一些基于jQuery构build的库,比如jQuery UI

在定义一个库和一个框架的时候,其中的一些看起来像是语义学的,但是这些例子有助于为我们画线。

如果我们谈论控制的倒置,几乎每个人在上面的线程谈论然后jQuery是一个框架。

它已经得到了国际奥委会,例如,当我们写函数$(document).ready {} …它是调用这个方法的容器,我们只是把我们的代码放在大括号内。 我们不是这个方法的调用者,因此“控制反转”

这样jQuery是一个框架。