AngularJS 比 jQuery 强大吗?强大在哪

如果说 AngularJS 比 jQuery 强大,强大在哪?

阅读 26.3k
13 个回答

以上回到显然不合理,可能是没有用过ng,ng比jq强大的地方主要是:

jquery修改元素是通过手工操作dom,ng修改了数据就自动同步到dom
比如有一个列表要展现:

<ul ng-repeat="i in list"><li>{{i}}</li></ul>

ng代码:$scope.list = [1,2,3], 修改list $scope.list[2] = 4
dom的ul第3个li就自动变成4了

而jq,代码大概需要:

list[2] = 4
$('ul').html('')
$.each(list, function(i,v){ $('ul').append('....') })

说白了就是ng执行要把数据修改了html就自动变了,jq的话修改数据了还需要自己修改html
而且,ng中,html(比如表单的input的value)变了后,数据自动变了,而jq还需要var data = $('input').val();

这叫数据的双向绑定。

当然ng只适合单页应用,不利于seo,这是另外的事

这是两个完全不同理念的东西,没有可比性。

首先这两者可比较性不大,jquery的侧重点在于提供了多样的元素选择以及选出元素的各类方法提供,帮助开发者快速进行页面开发。但从本质上来说,并不是程序框架性质的框架。而且,选择器角度也可以很多直接用原生去实现,而angular更在于其数据和页面的自动绑定所能带来的开发便利,更符合页面相对交互不多,更多中心在于数据呈现的场景下使用。
所以lz要比较其实应该比较的是backbone和angular这两个。

我之前花很長時間寫的一個 Markdown 編輯器中的大部分代碼,其實只是實現了 AngularJS 的一點皮毛;而 jQuery 的很多功能我都很快地自己寫了實現。

讀過 jQuery 核心的代碼,感覺 jQuery 提供的是一種書寫風格,而 AngularJS 纔是真正強大的難以自己實現的,JS 所缺少的一角,打開了一種全新的思路。

當然,jQuery 和 AngularJS 專注的地方本就不一樣,在各自領域都有各自的應用。
只是論自己實現的難度,AngularJS 大於 jQuery。

jQuery 關注代碼,AngularJS 關注架構和功能。

Reference: http://damoqiongqiu.iteye.com/blog/1926475 https://angularjs.org/
http://jquery.com/

从功能上来说这两个东西根本没有可比性。
如果从整个代码的写法上来看,我感觉jquery写的更优美。但其实这个没有绝对,毕竟每个人都不同。

真的是没有可比性,jQuery只是一个操作DOM的类库而已,而AngularJS是是MVC(或者MVVM)框架。
AngularJS实现了让View和数据完全分离,提供的数据双向绑定功能只要修改数据就时时同步了View,基本不用手动操作DOM。
当然AngularJS除了数据双向绑定功能外,还提供了 路由、服务、过滤器、模板、指令、模块管理、依赖注入、单元测试等功能。

不知道这样说了以后你是否有个直观的了解2者之间的区别了。

这个问题好比在问锤子比螺丝刀强吗,强大在哪里?
不同的理念,谁也代替不了谁,真的谈不上谁更强大,看需求选择使用哪个,都是很好用的工具。

有人拿jqueryui和angularjs比较,觉得好傻


Angular是整体开发的框架模式,不管是什么样的框架在具体实现时需要有利的工具辅助实现,而此时jquery发挥巨大的工具作用,是一把非常好用的瑞士军刀,哈哈,所以也叫锋利的jquery,Angular是框架和jquery负责不同层面的工作,Angular的数据DOM的双向绑定比较弱,当然,也有很多人认为这很强大,因为这特性在弱结构弱交互页面中确实很便利,在复杂的结构强交互的页面中,Angular的这个绑定特性的优势也立刻成了没什么用的鸡肋。这两者没有任何冲突,以我的工作来比方,把Angular理解为房屋的建筑结构有框架结构 框剪结构 有砖混结构,把jquery理解为房屋的装修样式,有欧式,现代,东南亚风格,现在明白了吧,两者是独立的不存在冲突更不存在有什么选择的比较。

一个是MVC框架,一个是库。一个外在的体现了设计思想,一个简化并强化了原生的js。我们也可以用jq实现自己的框架。所以没有可比性。

AngularJS很成功地在团队成员JS能力不足的情况下,
让Java开发人员把这部分较好地写起来了。

好的前端程序员,会尽可能的把前后端数据交互操作进行分离,前端程序员只需要 每个页面 提供 一键傻瓜式js 方法,后端只需按照数据模版返回固定格式数据后调用即可 ( )

js 能力不足 ,以及对 dom 操作不熟练的程序员 ,则需要AngularJS 这种效率低下 ,貌似易用的框架

所以说白了,AngularJS 是给js 能力不足,严重依赖框架的 java程序员用的蹩脚方案
AngularJS 是一个重量级的前端框架 ,也就是说很吃性能,适合对页面性能交互要求不高的地方;

总结:不懂前端的程序员,总想把后端思想带进 前端, 前后不分,AngularJS 是提供给前端技术思想不好的程序员的妥协方案

新手上路,请多包涵

比较就比较,有什么愚蠢不愚蠢的,太多维度可以做比较了,多少程序员从熟悉jQuery到新学习angular,这个过程必然经历两者的比较。本身就是很多趋势,越来越多人用angular替代了jquery,也许就能说明谁强大,虽然我更喜欢jQuery。

宣传栏