了解JQ、React、vue用途和工作原理

了解JQ、React、vue用途和工作原理

一、jQuery

用途:jQuery是JavaScript的程序库之一,许多JavaScript能实现的交互特效,jQuery也能完美实现,比如:

  1. 访问和操作DOM元素
  2. 控制页面样式
  3. 对页面事件的处理
  4. 方便的使用jQuery插件
  5. 与Ajax技术的完美结合

工作原理

(1). $=jQuery=new jQuery

在这里插入图片描述

(2). jq子对象其实是一个类数组对象,可保存找到的多个DOM元素对象

(3). 对jq子对象调用简化版函数,会被自动翻译为对应的原生DOM的方法和属性。

​ 所以jQuery中的所有简化版函数效果和DOM中原生方法和属性效果一样。

​ jQuery中的this、e、e.target等,和DOM中的完全一样

二、React

用途:React是一个用于构建用户界面的JavaScript库。它的主要用途是帮助开发者构建高效、可维护、可复用的用户界面

  1. 构建用户界面: React主要用于构建交互式的用户界面。你可以使用React创建复杂的单页面应用(SPA)或构建组件化的界面。
  2. 组件化开发: React提倡组件化开发,将用户界面拆分成小而独立的组件。每个组件都有自己的状态(state)和属性(props),使得代码更易于理解、维护和复用。
  3. 虚拟DOM: React引入了虚拟DOM的概念,通过在内存中构建虚拟DOM树来提高性能。它能够最小化DOM操作,只更新必要的部分,从而提升页面渲染效率。
  4. 单向数据流: React通过单向数据流的思想来管理数据的流向。数据自顶向下流动,任何状态的改变都会触发组件的重新渲染。
  5. 生命周期管理: React组件有生命周期方法,允许你在组件不同阶段执行特定的代码。例如,可以在组件挂载、更新或卸载时执行相应的逻辑。
  6. 状态管理: React提供了一种简单的状态管理机制,通过setState方法来更新组件的状态。这使得组件能够根据数据的变化进行重新渲染

工作原理

  1. 组件声明:React提供了一种声明式的方式来描述用户界面的状态变化。开发人员通过定义组件的属性(props)和状态(state)来描述UI的当前状态和行为

  2. 虚拟DOM:使用虚拟DOM来表示UI的状态变化,而不是直接操作真实DOM。

  3. 渲染:当组件的props或state发生变化时,React会重新渲染虚拟DOM。React会通过比较前后的虚拟DOM的差异,确定哪些部分需要更新

  4. 更新:当确定了需要更新的部分,React会使用高效的算法将变化应用到真实DOM上,实现UI的更新。React会尽可能地复用现有的DOM节点,以提高性能

  5. 事件处理:React通过将事件处理程序附加到DOM节点上,来处理用户的交互行为。当发生事件时,React会调用对应的事件处理函数,并根据需要更新组件的状态或属性

    在这里插入图片描述

三、Vue

用途:Vue.js(通常简称为Vue)是一款用于构建用户界面的渐进式JavaScript框架。它专注于视图层,为开发者提供了一种更容易理解和集成到其他库和项目中的方式。Vue的主要用途包括:

  1. 构建用户界面: Vue被设计用于构建交互式的用户界面。它通过使用声明式的模板语法,将数据和DOM绑定在一起,使开发者能够轻松地管理和渲染用户界面。
  2. 单页面应用程序(SPA): Vue可以用于创建单页面应用程序,其中整个应用在一个页面中加载,而页面的内容在用户与应用程序交互时进行动态更新,而不需要重新加载整个页面。
  3. 组件化开发: Vue支持组件化开发,允许开发者将应用拆分成小而独立的组件。这样的模块化设计使得代码更易于理解、维护和重用。
  4. 响应式数据绑定: Vue使用双向数据绑定机制,当数据发生变化时,视图会自动更新,反之亦然。这使得开发者能够更容易地追踪和管理应用程序的状态。
  5. 轻量级: Vue的核心库相对较小,使其易于学习和集成到现有项目中。Vue还有一些官方的插件和第三方库,可以根据需要选择性地引入。
  6. 路由管理: Vue可以与Vue Router配合使用,提供客户端路由功能,允许开发者通过路由控制应用程序的导航。
  7. 状态管理: 对于大型应用程序,Vue可以与Vuex一起使用,提供集中式的状态管理。这有助于在组件之间共享和管理状态。

工作原理

  1. 初始化阶段:

    • Vue实例化:创建Vue实例时,Vue会进行初始化,设置数据响应式、编译模板等。
    • 数据初始化:Vue会通过劫持数据的getter和setter来追踪数据的变化。
  2. 编译阶段:

    • 模板编译:Vue将模板转换为渲染函数,生成虚拟DOM。
    • AST(Abstract Syntax Tree)生成:将模板解析成AST,进一步生成渲染函数。
  3. 首次渲染:

    • 创建虚拟DOM:根据渲染函数创建虚拟DOM树。
    • 渲染真实DOM:通过虚拟DOM生成真实DOM并挂载到页面上。
  4. 响应式系统:

    • 数据变化:当数据发生变化时,Vue会通过setter通知依赖更新。
    • 依赖追踪:Vue会追踪依赖关系,建立数据与视图的联系。
  5. 更新阶段:

    • 数据变化:当数据发生变化时,Vue会触发更新过程。
    • 虚拟DOM更新:Vue通过虚拟DOM比对算法计算出变化,并更新虚拟DOM。
    • 最小化DOM操作:Vue通过比对前后虚拟DOM树的差异,最小化对真实DOM的操作,提高性能。
    • 真实DOM更新:根据差异,更新真实DOM。
  6. 组件化:

    • 组件更新:每个组件都有自己的虚拟DOM和状态,只有当组件的状态变化时,才会重新渲染该组件,而不影响其他组件。
    • 组件通信:组件之间通过props和events进行通信,形成组件树。
  7. 销毁阶段:

    • 组件销毁:当组件不再需要时,Vue会触发销毁过程,清理事件监听、定时器等资源。

      在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值