我只知道一个js库,那就是jQuery。 但我在组中的其他程序员正在改变AngularJS作为他们在新项目的默认库。

我什么都不知道。它与jQuery有什么不同? 我已经在jQuery中为类似的任务做了一组函数。我还能在AngularJS中使用jQuery的东西吗?


当前回答

他们在不同的层次上工作。

从初学者的角度来看,最简单的区别是jQuery本质上是JavaScript的抽象,所以我们为JavaScript设计页面的方式几乎就是我们为jQuery设计页面的方式。从DOM开始,然后在此基础上构建一个行为层。而Angular.Js则不是这样。这个过程实际上是从头开始的,所以最终的结果是理想的视图。

用jQuery可以做dom操作,用Angular.Js可以创建整个web应用程序。


jQuery的构建是为了抽象出各种浏览器特性,并且无需添加IE6检查等就可以使用DOM。随着时间的推移,它开发了一个不错的、健壮的API,允许我们做很多事情,但它的核心是用于处理DOM、查找元素、更改UI等等。把它想象成直接用螺母和螺栓工作。

js是建立在jQuery之上的一个层,用于将MVC概念添加到前端工程中。Angular.Js没有为你提供api来使用DOM,而是为你提供了数据绑定、模板、自定义组件(类似于jQuery UI,但是声明式的,而不是通过JS触发)以及很多其他功能。可以把它看作是在更高的级别上工作,使用可以连接在一起的组件,而不是直接在螺母和螺栓级别上工作。

此外,Angular.Js还提供了应用于各种项目的结构和概念,比如控制器、服务和指令。jQuery本身可以以多种(无数)方式来完成相同的事情。值得庆幸的是,在Angular.Js中,这种情况要少得多,这使得进入和退出项目变得更容易。它为多人为同一个项目做出贡献提供了一种明智的方式,而不必从头开始重新学习一个系统。


一个简短的比较可以是这样的-

jQuery

Can be easily used by those who have proper knowledge on CSS selectors It is a library used for DOM Manipulations Has nothing to do with models Easily manipulate the contents of a webpage Apply styles to make UI more attractive Easy DOM traversal Effects and animation Simple to make AJAX calls and Utilities usability don't have a two-way binding feature becomes complex and difficult to maintain when the size of a project increases Sometimes you have to write more code to achieve the same functionality as in Angular.Js

Angular.Js

它是一个MVVM框架 用于创建SPA(单页应用程序) 它具有路由、指令、双向数据绑定、模型、依赖注入、单元测试等关键特性 是模块化 可维护的,当项目规模增加时 快 双向数据绑定 其他友好 基于mvc模式 深度链接 模板 内置表单验证 依赖注入 本地化 完整测试环境 服务器通信

还有更多

我想这有帮助。

更多的可以发现-

jQuery与AngularJS:比较和迁移演练 “用AngularJS思考”,如果我有jQuery背景? jQuery和AngularJS之间的主要区别是什么? jQuery Vs AngularJS -一个很好的对比 jQuery和AngularJS的区别是什么?

其他回答

他们在不同的层次上工作。

从初学者的角度来看,最简单的区别是jQuery本质上是JavaScript的抽象,所以我们为JavaScript设计页面的方式几乎就是我们为jQuery设计页面的方式。从DOM开始,然后在此基础上构建一个行为层。而Angular.Js则不是这样。这个过程实际上是从头开始的,所以最终的结果是理想的视图。

用jQuery可以做dom操作,用Angular.Js可以创建整个web应用程序。


jQuery的构建是为了抽象出各种浏览器特性,并且无需添加IE6检查等就可以使用DOM。随着时间的推移,它开发了一个不错的、健壮的API,允许我们做很多事情,但它的核心是用于处理DOM、查找元素、更改UI等等。把它想象成直接用螺母和螺栓工作。

js是建立在jQuery之上的一个层,用于将MVC概念添加到前端工程中。Angular.Js没有为你提供api来使用DOM,而是为你提供了数据绑定、模板、自定义组件(类似于jQuery UI,但是声明式的,而不是通过JS触发)以及很多其他功能。可以把它看作是在更高的级别上工作,使用可以连接在一起的组件,而不是直接在螺母和螺栓级别上工作。

此外,Angular.Js还提供了应用于各种项目的结构和概念,比如控制器、服务和指令。jQuery本身可以以多种(无数)方式来完成相同的事情。值得庆幸的是,在Angular.Js中,这种情况要少得多,这使得进入和退出项目变得更容易。它为多人为同一个项目做出贡献提供了一种明智的方式,而不必从头开始重新学习一个系统。


一个简短的比较可以是这样的-

jQuery

Can be easily used by those who have proper knowledge on CSS selectors It is a library used for DOM Manipulations Has nothing to do with models Easily manipulate the contents of a webpage Apply styles to make UI more attractive Easy DOM traversal Effects and animation Simple to make AJAX calls and Utilities usability don't have a two-way binding feature becomes complex and difficult to maintain when the size of a project increases Sometimes you have to write more code to achieve the same functionality as in Angular.Js

Angular.Js

它是一个MVVM框架 用于创建SPA(单页应用程序) 它具有路由、指令、双向数据绑定、模型、依赖注入、单元测试等关键特性 是模块化 可维护的,当项目规模增加时 快 双向数据绑定 其他友好 基于mvc模式 深度链接 模板 内置表单验证 依赖注入 本地化 完整测试环境 服务器通信

还有更多

我想这有帮助。

更多的可以发现-

jQuery与AngularJS:比较和迁移演练 “用AngularJS思考”,如果我有jQuery背景? jQuery和AngularJS之间的主要区别是什么? jQuery Vs AngularJS -一个很好的对比 jQuery和AngularJS的区别是什么?

AngularJS: AngularJS是用于开发重型web应用程序的。当应用程序启动时,AngularJS可以使用jQuery,如果jQuery出现在web应用程序中。如果它没有出现在脚本路径中,那么AngularJS就会退回到它自己的jQuery子集实现。

JQuery: jQuery是一个小型、快速且功能丰富的JavaScript库。它使HTML文档遍历和操作、事件处理、动画和Ajax等事情变得更加简单。jQuery简化了JavaScript中很多复杂的东西,比如AJAX调用和DOM操作。

阅读更多细节:angularjs-vs-jquery

我认为这张图表很好地描述了两者的差异。快速浏览一下就会发现大部分的不同之处。

我想补充的一点是,AngularJS可以遵循MVVM设计模式,而jQuery不遵循任何标准的面向对象模式。

Jquery: -

jQuery is a lightweight and feature-rich JavaScript Library that helps web developers
by simplifying the usage of client-side scripting for web applications using JavaScript.
It extensively simplifies using JavaScript on a website and it’s lightweight as well as fast.

So, using jQuery, we can:

easily manipulate the contents of a webpage
apply styles to make UI more attractive
easy DOM traversal
effects and animation
simple to make AJAX calls and
utilities and much more… 

AngularJS: -

AngularJS is a product by none other the Search Engine Giant Google and it’s an open source
MVC-based framework(considered to be the best and only next generation framework). AngularJS
is a great tool for building highly rich client-side web applications.

As being a framework, it dictates us to follow some rules and a structured approach. It’s
not just a JavaScript library but a framework that is perfectly designed (framework tools
are designed to work together in a truly interconnected way).

In comparison of features jQuery Vs AngularJS, AngularJS simply offers more features:

Two-Way data binding
REST friendly
MVC-based Pattern
Deep Linking
Template
Form Validation
Dependency Injection
Localization
Full Testing Environment
Server Communication

我想从开发人员的角度补充一些AngularJS和jQuery的区别。

在AngularJS中,你必须有一个非常结构化的视图和方法来实现你想要实现的目标。它几乎不遵循线性方式来完成任务,而是各个对象之间的交换来处理请求和操作,这是必要的,因为angular是一个基于mvc的框架。它还至少需要最终应用程序的一般蓝图,因为编码在很大程度上取决于您希望如何完成交互。

jQuery就像一首免费的诗,你写几行诗,并为你要完成的任务保持适当的关系和势头。

虽然,在Angular JS中,你应该遵循一些规则,并保持适当的势头和关系,也许它更像经典的斯宾塞十四行诗(著名的古典诗人),他的诗是结构化的,并与许多规则捆绑在一起。

与AngularJS相比,jQuery更像是一个代码和函数的集合(正如前面提到的,它非常适合DOM操作和快速实现),而AngularJS是一个真正的框架,它让开发人员能够构建一个企业web应用程序,其中包含大量的数据绑定和交换,并且组织得非常好——路由和管理。

此外,AngularJS不依赖jQuery来完成它的任务。它有两个非常出色的特性,这在任何意义上都是jQuery所没有的:

Angular JS教你如何编写代码并实现一个目标,而不仅仅是通过任何方式来实现一个目标。值得一提的是,AngularJS充分利用了javascript的核心和核心,并为你在应用程序中融入DI(依赖注入)等技术铺平了道路。要使用angularJS,你应该(或者必须)学习更多高级的Javascript编码技术。

2- Angular JS完全独立于处理指令和结构你的应用;然后你可能会简单地说jQuery也可以做到这一点(独立性),但是,确实,AngularJS,正如上面几行中提到的那样,以最优秀的基于mvc的结构方式具有独立性。

最后要说明的是,没有名字之战,因为偏见或主观是非常令人不安的。jQuery的巨大和伟大已经得到了证明,但它们的用途和局限性(任何框架或软件)是讨论和类似争论的焦点。

更新:

使用AngularJS是决定性的,因为它的实现成本很高,但为未来应用程序的扩展、转换和维护奠定了坚实的基础。AngularJS是Web新世界的代表。它的目标是构建具有以下特点的应用程序:围绕结构化系统消耗最少的资源(只从服务器加载必要的资源)、快速响应时间以及高度的可维护性和可扩展性。