如果说 AngularJS 比 jQuery 强大,强大在哪?
认证高级PHP讲师
以上回到显然不合理,可能是没有用过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了
$scope.list = [1,2,3],
$scope.list[2] = 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();
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。
以上回到显然不合理,可能是没有用过ng,ng比jq强大的地方主要是:
jquery修改元素是通过手工操作dom,ng修改了数据就自动同步到dom
比如有一个列表要展现:
ng代码:
$scope.list = [1,2,3],
修改list$scope.list[2] = 4
dom的ul第3个li就自动变成4了
而jq,代码大概需要:
说白了就是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。