iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >javascript观察者模式如何实现自动刷新效果
  • 230
分享到

javascript观察者模式如何实现自动刷新效果

2024-04-02 19:04:59 230人浏览 薄情痞子
摘要

小编给大家分享一下javascript观察者模式如何实现自动刷新效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下/

小编给大家分享一下javascript观察者模式如何实现自动刷新效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体内容如下

// author wangbinandi@gmail.com

const observable = obj => {
  const observers = Symbol();
  const set = function(target, key, value) {
    const result = Reflect.set(target, key, value);
    //console.log("set key:" + key);
    if ( target[observers].has(key) ) {
      target[observers].get(key).forEach(observer => observer());
    }

    return result;
  }

  const get = function(target, key) {
    const result = Reflect.get(target, key);
    //console.log("get key:" + key);
    if (arguments.callee.caller) {
      if (!target[observers].has(key)) {
        target[observers].set(key, new Set())
      }
      target[observers].get(key).add(arguments.callee.caller);
    }

    return result;
  }

  obj[observers] = new Map(); // string => Set()
  return new Proxy(obj, {set, get});
};

const autorun = fn => fn();

var person = observable({
  firstName: 'Matt',
  lastName: 'Ruby',
  age: 18,
  weight: 50
});

autorun(function () {
  console.log('autorun.getAge: ' + person.firstName + ' ' + person.age);
});

autorun(function () {
  console.log('autorun.getName: ' + person.firstName + ' ' + person.lastName);
});

person.age = 19;
person.weight = 55;
person.firstName = 'test';
person.lastName = 'MyLast';
console.log(person.lastName);
person.age = 20;

以上是“javascript观察者模式如何实现自动刷新效果”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: javascript观察者模式如何实现自动刷新效果

本文链接: https://www.lsjlt.com/news/68745.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript观察者模式如何实现自动刷新效果
    小编给大家分享一下javascript观察者模式如何实现自动刷新效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下/...
    99+
    2024-04-02
  • Javascript中如何实现观察者模式
    本篇文章为大家展示了Javascript中如何实现观察者模式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。基础知识观察者模式定义了对象间的一种一对多依赖关系,每当一...
    99+
    2024-04-02
  • php如何实现观察者模式
    这篇文章主要介绍了php如何实现观察者模式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php实现观察者模式的方法:首先创建一个PHP示例文件;然后实现观察者向主题注册;最后...
    99+
    2023-06-14
  • 怎么用Javascript实现观察者模式
    本篇内容主要讲解“怎么用Javascript实现观察者模式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Javascript实现观察者模式”吧!什么是观察者模式?观察者模式一种设计模式。观...
    99+
    2023-06-21
  • 怎样用JavaScript实现观察者模式
    目录概述观察者模式的应用场景观察者模式的实现总结概述 观察者模式又被称为发布-订阅模式,是设计模式中的一种行为型模式; 定义: 观察者模式定义了一种一对多的对象依赖关系,当被依赖的对...
    99+
    2024-04-02
  • 如何使用PHP实现观察者模式
    小编给大家分享一下如何使用PHP实现观察者模式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!观察者模式为您提供了避免组件之间紧密...
    99+
    2024-04-02
  • JavaScript设计模式中的观察者模式怎么实现
    本文小编为大家详细介绍“JavaScript设计模式中的观察者模式怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript设计模式中的观察者模式怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-02
  • JavaScript 简单实现观察者模式和发布-订阅模式
    JavaScript 简单实现观察者模式和发布-订阅模式 1. 观察者模式1.1 什么是观察者模式1.2 代码实现 2. 发布-订阅模式2.1 什么是发布-订阅模式2.2 代码实现2.2.1 基础版2.2.2 取消订阅2.2.3...
    99+
    2023-08-21
    javascript 设计模式
  • 手把手教你用Javascript实现观察者模式
    目录什么是观察者模式?场景模拟代码实现重构代码总结 什么是观察者模式? 观察者模式一种设计模式。 观察者模式定义了对象间的一种 一对多 的依赖关系,当一个对象的状态...
    99+
    2024-04-02
  • vue如何用组件传值实现观察者模式
    这篇文章主要介绍“vue如何用组件传值实现观察者模式”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何用组件传值实现观察者模式”文章能帮助大家解决问题。第一步,我们先在main.js中注册一下...
    99+
    2023-07-04
  • JavaScript观察者模式:掌控事件流,实现数据同步
    1. JavaScript观察者模式概述 JavaScript观察者模式是一种设计模式,它允许对象订阅并响应其他对象的事件。这种模式非常适合用于管理事件流和实现数据同步。在观察者模式中,有一个被观察者对象(Subject)和多个观察者对...
    99+
    2024-02-03
    JavaScript 观察者模式 事件流 数据同步
  • 揭秘JavaScript观察者模式:轻松实现跨组件通信
    一、JavaScript观察者模式介绍 JavaScript观察者模式是一种设计模式,它允许对象之间进行通信,而不必知道彼此的存在。这种模式非常适合用于构建松散耦合的应用程序。 观察者模式包含以下几个角色: Subject (主题): ...
    99+
    2024-02-03
    JavaScript 观察者模式 跨组件通信 松散耦合。
  • Java实现数据更新和事件通知的观察者模式
    目录介绍实现总结优点缺点应用场景介绍 Java观察者模式(也称发布-订阅模式)是一种行为设计模式,用于对象之间的松散耦合,即当一个对象的状态发生变化时,其他依赖该对象的对象会被自动通...
    99+
    2023-05-17
    Java观察者模式 Java设计模式
  • jQuery如何实现滚动刷新效果
    这篇文章给大家分享的是有关jQuery如何实现滚动刷新效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Jquery实现简单的滚动刷新效果: 实际情况使用Ajax获取后台数据更新...
    99+
    2024-04-02
  • 如何实现观察者模式及Spring中的事件编程模型
    这篇“如何实现观察者模式及Spring中的事件编程模型”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来...
    99+
    2024-04-02
  • JavaScript观察者模式:巧用发布-订阅机制,实现松耦合设计
    观察者模式是一种软件设计模式,它允许对象订阅其他对象的事件,以便在事件发生时收到通知。这种模式可以帮助您创建松散耦合的应用程序,因为观察者和被观察者之间没有直接的依赖关系。 在JavaScript中,您可以使用发布-订阅机制来实现观察者...
    99+
    2024-02-03
    JavaScript 观察者模式 发布-订阅机制 松耦合设计
  • Ajax+Servlet如何实现无刷新下拉联动效果
    小编给大家分享一下Ajax+Servlet如何实现无刷新下拉联动效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!大类下拉框:页面加载的时候就初始化大类的下拉选项,通过后台代码去数据库里面...
    99+
    2024-04-02
  • 如何实现Ajax无刷新分页效果
    这篇文章给大家分享的是有关如何实现Ajax无刷新分页效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ajax无刷新分页效果,如下代码实现<!doctype ht...
    99+
    2024-04-02
  • Ajax如何实现页面自动刷新
    这篇文章主要介绍了Ajax如何实现页面自动刷新,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Ajax简介:AJAX即“Asynchronous Javascript And ...
    99+
    2023-06-08
  • 如何实现网页自动刷新与自动跳转
    这篇文章将为大家详细讲解有关如何实现网页自动刷新与自动跳转,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。网页自动刷新: 在<head></head>之间加入如下代码: 代码如下:&...
    99+
    2023-06-08
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作