您好!欢迎进入重庆网站建设公司官方网站 友情链接申请:qq664865128 服务邮箱:664865128@qq.com

jquery和Vue的区别(前端为什么弃用jQuery?有这六个原因)

时间:2023-07-06  发布:小宽

  jquery和Vue的区别

  1、工作原理不同

  vue:Vue做到了数据和视图完全分离开,它首先把值和js对象进行绑定,然后修改js对象的值,Vue框架就会自动把dom的值就行更新。对数据进行操作不再需要引用相应的dom对象,他们通过Vue对象实现数据和视图的相互绑定。

  jquery:jQuery则是要先使用选择器($)来选取dom对象,然后对dom对象进行操作(如赋值、取值、事件绑定等)。

  2、侧重点不同

  vue:vue侧重数据绑定,可以应用于复杂数据操作的后台页面。如:表单填写页面

  jquery:jquery侧重样式操作,动画效果等;可以应用于一些html5的动画页面,一些需要js来操作页面样式的页面中。

  3、DOM操作不同

  vue:  Vue框架会自动把DOM元素进行更新。简单来说就是Vue帮我们做了DOM操作,节省了很多代码,它只需要做好对数据的单向绑定,就是我们常说的DOM对象绑定,如果当js对象的值也会跟着dom元素的值改变而改变,叫做双向数据绑定。

  jquery:jQuery首先要获取到DOM对象,然后对DOM对象进行值的修改等操作,而Vue不直接对DOM元素进行渲染,它更多的是把值和对象(js)进行绑定,然后再修改js对象的值。

  4、未来发展不同

  vue:vue是一个刚兴起不久的前端框架,有一套完整的体系,是一个精简的MVVM。从技术角度讲,vue.js专注于MVVM模型的ViewModel层,通过双向数据绑定把view层和Model层连接起来,通过对数据的操作就可以完成对页面视图的渲染。vue以它独特的优势简单、快速、组合、紧凑、强大而迅速崛起。

  jquery:jquery是一个类库,提供了很多方法,不能算框架。在过去和现在Jquery是最流行的web前端js库,可是现在无论国内还是国外,他的使用率正在渐渐被其他的js库所替代。随着浏览器厂商对H5规范统一遵循以及ECMA6在浏览器端的实现,jquery的使用率会越来越低。

  5、操作思想不同

  vue:vue是通过vue对象将数据和view完全分离开的,对数据操作不在引用相应的DOM对象;主要是操作数据。vue基于一种MVVM模式,使用数据驱动的方式,通过Vue对象将数据和View完全分离开来。对数据进行操作,不在需要引用相应的DOM对象,通过vue对象,将数据和相应的DOM对象相互绑定起来。

  jquery:jQuery是使用选择器($)选取DOM对象,并对其进行赋值、取值、事件绑定等操作;jquery是直接操作DOM;使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作;和原生的js区别只在于可以更方便的选取和操作DOM对象,数据和界面是在一起的。

  前端为什么弃用jQuery?有这六个原因

  前端为什么都不再使用jQuery?这个问题其实也非常好理解,首先,你得知道jQuery给我们解决了什么问题。给我们带来了什么。有以下几个方面

  比如

  1. 快速选取元素

  2. 方便操作DOM元素的API

  3. 各个浏览器之间完美的兼容性

  4. 链式操作,动画,AJAX等等

  上面这些都jQuery带给我们的优势。之前,相对于原生API来说,确实给我们带来了操作上便利。

  那现在为什么我们就慢慢不在使用jQuery了呢?我觉得有以下六个原因

  一. 快速选择元素无优势

  为什么说快速选择元素优势了?现在有两个API,只需传入CSS选择器形式的字符串,就可以匹配到预期的DOM节点。如下

  浏览器兼容上这两个API也得到了很好的兼容

  再者,Vue中也是使用些API进行元素获取的。所以说jQuery快速选择DOM节点的优势已经不存在了。

  二. 方便操作DOMAPI有替代

  对于操作DOM的API,如addClass removeClass等,原生API也有支持, classList,可能IE兼容不是太完美,但是最基本该实现的也都实现了。

  三. CSS3动画崛起

  动画就比较熟悉了,CSS3动画技术已经是非常成熟,完全可以取代jQuery动画,甚至更好的实现复杂动画,兼容性也好,加上还有比较方便使用的动画库Animate.css,大家一定非常熟悉,所以jQuery动画被取代已经很好理解了。

  四. fetch/axios优于AJAX

  现在原生JS实现fetchapi还是axios。都给我们提供了强大的ajax的能力,且axiox还有拦截器这个优势。这相较而言,是jQuery的ajax确实已经无法相比的了。加体积也小很多。在IE上fetch也有了polyfill方案(github/fetch)。这样就可以很方便的使用ajax,相对于jQuery就小巧很多。

  五. 性能问题得到改善

  关于性能问题,大家可以花点时间去很好的了解一下Virtual DOM(虚拟DOM)的概念,其实Virtual DOM就是相对真实现DOM节点来以最小变动来改变真实DOM。这只是一个思路,但jQuery在重绘,回流方面确实存在一定影响性能的问题。至于如何改善DOM操作性能,需要好好研究每一步JS操作,甚至每一个样式属性的使用。

  六. 框架对jQuery的影响

  目前有各种框架已经被广泛使用,比如React,Vue,Angular。这些都属于MV*框架,特点都是以数据为核心,操作DOM的事都留给框架去做,这相对于jQuery来来说,开发效率高,代码可维护性高,可扩展性高,性能更好。

  再加上webpack打包(当然JQ也可以),脚手架的方便,新语法ES6/7的崛起,使得在编码体验上又上一个体验档次,所以函数式写码必然代替了命令式写码。

本文由重庆网站建设编辑,转载请注明出处:https://www.cq-wzjs.com.cn/changjianwenti/shoujiwangzhan/4704.html

关于我们 About us

您可以在线咨询...

158-023-10923

158-023-10923

重庆市沙坪坝区西双大道19号7幢3-4

Copyright © 2008-2023 睿喆诚数字传媒(重庆)有限公司 版权所有 渝ICP备2022008152号-1

在线客服
免费咨询热线
158-023-10923