jQuery和AngularJS的区别浅析

 我来答
互联网大师
2015-12-17 · 知道合伙人互联网行家
互联网大师
知道合伙人互联网行家
采纳数:170 获赞数:1722
国家认证信息系统项目管理师、项目经理、高中信息技术教师证书

向TA提问 私信TA
展开全部
JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器.

AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
两者在不同的场合下使用最佳

1、DOM不是第一优先级的时候
jQuery在DOM上做得很好,可以根据用户交互,添加修改DOM元素。而AngularJS更关注数据展示本身,更新时会尽可能减少对DOM的破坏和重构。当然,整个操作不可能完全的避免DOM,但使用AngularJS就比jQuery对于DOM的工作少多了。
2、考虑到效率的问题
AngularJS,尽管它的学习曲线没有那么平缓,但它强调开发效率,AngularJS中很多特点的设计都是出于提高开发者效率的目的。比如在框架内它就支持单元测试,这样的设计可以让程序员更集中精力在写出可靠的代码上,简化了测试上的麻烦。另外,降低模块间的耦合度也有利于程序员梳理项目逻辑,可以更专注于“为什么”,而不是“怎么做”。这样带来的好处就是代码会更简洁和易读,有利于调试和维护。
3、考虑到声明式语言的优势
jQuery的一个常见问题就是它是命令式编程,就意味着你要告诉计算机如何达成某项目的,其实你想要的就是程序运行的结果。而声明式编程则转移了重点,它只是告诉机器你想要的结果,让机器自己实现这个结果。JavaScript就是一种命令式语言,但HTML,和它指导的AngularJS就是声明式的,只需要告诉计算机你需要的展现形式,至于细节就由机器处理了。这样,完成一个任务的代码就大幅缩减了,代码质量也更高了。
4、综上所述,AngularJS和jQuery之间的比较就如同苹果和橘子的比较,两者是出于不同的目的被创建的,解决的也是不同的问题。当一个项目的重点是数据展示和执行,而不是分析,此时可能AngularJS就会更胜一筹。对于框架的选择,你要考虑到很多因素,需要整体的构思。AngularJS总体上还是一个不错的选择,可以提高程序员的效率,相对减少Web开发中的维护成本。
旺理财
2015-06-07 · 百度知道合伙人官方认证企业
旺理财
1、AA级以上公募债券理财产品 2、短期理财产品【3天收益12%、1个月7.5%、3个月8.2%、6个月8.8%】 3、应用市场搜索“旺理财”下载APP理财
向TA提问
展开全部
jQuery在DOM上做得很好,可以根据用户交互,添加修改DOM元素。而AngularJS更关注数据展示本身。
jQuery的特点是写法简单,易学,上手容易,dom操作灵活性强。
AngularJS中很多特点的设计都是出于提高开发者效率的目的。它更专注于“为什么”,而不是“怎么做”。这样带来的好处就是代码会更简洁和易读,有利于调试和维护。
AngularJS和jQuery之间的比较就如同苹果和橘子的比较,两者是出于不同的目的被创建的,解决的也是不同的问题。当一个项目的重点是数据展示和执行,而不是分析,此时可能AngularJS就会更胜一筹。对于框架的选择,你要考虑到很多因素,需要整体的构思。AngularJS总体上还是一个不错的选择,可以提高程序员的效率,相对减少Web开发中的维护成本。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2571d37bb
2018-06-27 · 知道合伙人软件行家
百度网友2571d37bb
知道合伙人软件行家
采纳数:1971 获赞数:7905
前端工程师

向TA提问 私信TA
展开全部
1.AngularJS和JQuery没有任何可比性。因为他们俩就不是一样的东西。AngularJS是JS的一种框架,而JQuery只是JS的一个函数库。
2.AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
3.JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就烦条0o
2018-07-27 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46482
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
1.不要首先设计好你的页面,然后再通过DOM操作去修改它

在jQuery中,你首先设计了一个page,然后再去动态修改它的内容,这是因为jQuery被设计用来进行扩展并在这个前提下大幅度地增加和修改内容,但是在angularjs中,你必须在心中先设计好你的架构,

从一开始,你就要摒弃“我拥有一个DOM元素并且想让它去做某件事”,代之为“我需要完成什么任务,然后接着设计你的应用,最后再去设计你的视图view层”。

2.不要使用angularjs去扩展jQuery

相应地,不要存在说让jQuery去干某些事情,然后在此基础上添加angularjs的功能让它去管理model以及controller的想法。所以我一般不推荐AngularJS开发新手同时使用jQuery,至少在他们还没有适应AngularJS的开发模式之前不会去推荐这样做,但是当你真正开始适应angularjs
的方式之后,你会发觉这是一件很诱人的事情。

我曾经看到过很多开发者采用将150到200行代码的jQuery插件利用angularjs的回调以及$apply方法封装起来,这种方式使得代码看起来极其复杂,但是实际上他们让这些插件跑起来了!问题在于,在大部分情况下jQuery插件能够用angularjs进行重写,并且可能只会使用很少量的代码,同时这种重写使得代码很直观且易于理解,这显然好过于将jQuery代码直接做封装。

所以最后说,当你遇见问题的时候,首先要以angularjs的思维进行思考,如果找不到解决方案,可以求助于社区,如果说没有人能够给出一个简单的方案,那么才考虑使用jQuery,不要让jQuery成为你的拐杖,否则你永远掌握不了AngularJS。

3.要以架构为中心进行思考

首先你要知道单页应用属于web应用,它们不是传统的多网页网站,所以我们要同时作为一个服务端和客户端开发者的思维进行思考,我们需要思考如何将我们的应用分为独立的,可扩展的以及可测试的部分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
育知同创教育
2018-06-27 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
angularjs和js的区别如下 :
1、范围不同
angularjs是一套封装了诸多功能的js框架,而js是通用的javascript代码的缩写。
2、实现方式不同
angularjs只要引用现成的js文件就可以使用了,js需要在<script>之间自定义实现一些函数。
angularjs用法:
<!doctype html>
<html ng-app>
<head>
<script src="./js/angular-1.0.1.min.js"></script>
</head>
<body>
Hello {{'World'}}!
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式