原生js实现响应式,数据驱动

本文介绍了响应式编程和数据驱动的概念,并详细阐述了如何使用原生JavaScript实现响应式和数据驱动,包括利用发布订阅模式、观察者模式和Object.defineProperty进行数据劫持。通过实例展示了数据变化时,视图的自动更新,揭示了响应式编程的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

响应式编程与数据驱动概览

什么是响应式编程:

响应式编程:(Reactive Programming 或称反应式编程)是一种流行的编程方法,编写代码是基于对变化的反应。

响应式编程的优点:

执行的代码和执行的线程是分开的。这种方式在服务端的架构里面有很大的意义,只保留一个线程处理程序进程层面的代码,跟Node.js很相似。如果这个线程被阻塞的话,那整个服务器就不会再处理其他请求了。因此,在JavaScript中,每个调用在一开始的时候就是异步执行,在任何情况下都可以通过响应式的API或者其他有用的抽象方式,来解决回调地狱的问题。

数据驱动

数据驱动:是指视图是由数据驱动生成的,对视图的修改,不会直接操作 DOM,而是通过修改数据。相比较传统的前端开发,如 jQuery 前端库直接修改 DOM,大大简化了代码量。特别是当交互复杂的时候,只关心数据的修改会让代码的逻辑变的非常清晰,因为 DOM 变成了数据的映射,所有的逻辑都是对数据的修改,而不用触碰 DOM,这样代码也利于维护。

原生js实现响应式,数据驱动

实现原理及思路

利用发布订阅模式,建立一个订阅器模型,写一个劫持方法,加上观察者模式,利用 js 的Object.defineProperty方法,劫持当前数据,观察到数据发生了变化之后,使用set去改变数据,被订阅

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧阳呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值