03 2023 档案

摘要:ES6中新增的Set集合类型是一种有序列表,其中含有一些相互独立的非重复值,通过Set集合可以快速访问其中 的数据,更有效地追踪各种离散值。 1. 创建Set集合并添加元素 调用new Set()创建Set集合,调用add()方法向集合中添加元素,访问集合的size属性可以获取集合中目前的 元素数量 阅读全文
posted @ 2023-03-24 14:04 箫笛 阅读(127) 评论(0) 推荐(0) 编辑
摘要:Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 从浏览器创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 阅读全文
posted @ 2023-03-23 16:41 箫笛 阅读(238) 评论(0) 推荐(0) 编辑
摘要:箭头函数是一种使用用箭头(=>)定义函数的新语法,它不同于传统的javascript函数。 没有this, super, arguments 和 new.target绑定: 箭头函数中的this, super, arguments, 及new.target 这些值由外围最近一层非箭头函数决定。 不能 阅读全文
posted @ 2023-03-23 11:41 箫笛 阅读(158) 评论(0) 推荐(0) 编辑
摘要:1. 单一职责原则(SRP原则) 单一职责原则的职责被定义为“引起变化的原因”。如果我们有两个动机去改写一个方法,那么这个方法就具有 两个职责。每个职责都是变化的一个轴线,如果一个方法承担了过多的职责,那么在需求变迁过程中,需要改 写这个方法的可能性就越大。 因此,SRP原则体现为:一个对象(方法) 阅读全文
posted @ 2023-03-21 17:24 箫笛 阅读(21) 评论(0) 推荐(0) 编辑
摘要:定义: 代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。 1. 代理模式的实现 const Flower = function(){}; const xiaoming = { sendFlower: function(target){ const flower = new Flowe 阅读全文
posted @ 2023-03-21 17:23 箫笛 阅读(60) 评论(0) 推荐(0) 编辑
摘要:定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成 一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 ###1. 实现职责链 // 定义职责链 class Chain { constructor(fn){ this.fn = fn; this.su 阅读全文
posted @ 2023-03-16 15:42 箫笛 阅读(42) 评论(0) 推荐(0) 编辑
摘要:定义:享元模式是一种用于性能优化的模式,其核心是运用共享技术来有效支持大量细粒度的对象。享元模式 要求将对象的属性划分为内部状态与外部状态(通常指属性),其目标是尽量减少共享对象的数量。 内部状态和外部状态: 内部状态存储于对象内部 内部状态可以被一些对象共享 内部状态独立于具体的场景,通常不会改变 阅读全文
posted @ 2023-03-16 15:39 箫笛 阅读(56) 评论(0) 推荐(0) 编辑
摘要:定义:组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。除了用来表示树形结构之外,组合 模式的另一个好处是通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性。 1. 实现组合模式 class Folder { constructor(name, parent){ this 阅读全文
posted @ 2023-03-14 15:57 箫笛 阅读(35) 评论(0) 推荐(0) 编辑
摘要:定义:命令模式中的命令指的是一个执行某些特定事情的指令,命令模式的应用场景是,有些时候需要向某些 对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的 方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系。 1. 用类的方式实现命令模式 // 阅读全文
posted @ 2023-03-14 11:14 箫笛 阅读(22) 评论(0) 推荐(0) 编辑
摘要:定义:适配器模式主要用来解决两个已有接口之间不匹配的问题,它不考虑这些接口是怎样实现的,也不考虑它们将来 可能会如何演化。适配器模式不需要改变已有的接口,就能够使它们协同作用。 1.适配器模式的实现 通过adapter类包装为统一的接口 class GooleMap { show(){ consol 阅读全文
posted @ 2023-03-14 11:11 箫笛 阅读(99) 评论(0) 推荐(0) 编辑
摘要:定义:中介者模式的作用就是解除对象与对象之间的紧耦合关系。增加一个中介者对象后,所有的相关对象都 通过中介者对象来通信,而不是互相引用,所以当一个对象发生改变时,只需要通知中介者对象即可。中介者 使各个对象之间耦合松散,而且可以独立地改变它们之间的交互。中介者模式使网状的多对多关系变成了相对 简单的 阅读全文
posted @ 2023-03-13 14:41 箫笛 阅读(37) 评论(0) 推荐(0) 编辑
摘要:定义: 一个操作符是返回一个Observable对象的函数,不过,有的操作符是根据其他Observable对象产生返回 的Observable对象,有的操作符则是利用其他类型输入产生返回的Observable对象,还有一些操作符不需要输入 就可以凭空创造一个Observable对象。 1. 操作符分 阅读全文
posted @ 2023-03-10 15:34 箫笛 阅读(181) 评论(0) 推荐(0) 编辑
摘要:Rxjs 就是利用javascript实现了响应式编程的概念,利用监听流的模式处理异步操作。 1. 函数响应式编程 函数式编程 声明式 纯函数 数据不可变性 响应式编程 通过可监听流实现异步编程 2. Observable 和 Observer Rxjs中的数据流就是Observable对象,它是被 阅读全文
posted @ 2023-03-10 15:32 箫笛 阅读(39) 评论(0) 推荐(0) 编辑
摘要:定义:外观模式又叫门面模式,外观模式为一个系统中的子系统提供一个统一的高层接口,从而方便使用 子系统。 1. 用类实现外观模式 class Cpu { install() { console.log('install cpu'); } } class Disk { install() { conso 阅读全文
posted @ 2023-03-10 15:24 箫笛 阅读(32) 评论(0) 推荐(0) 编辑
摘要:定义:给对象动态地增加职责的方式称为装饰者模式,装饰者模式能够在不改变对象自身的基础上,在程序运行 期间给对象动态地添加职责。 从功能上而言,装饰器能很好地描述这个模式,但从结构上看,包装器的说法更加贴切。装饰者模式将一个对象 嵌入另一个对象之中,实际上相当于这个对象被另一个对象包装起来,形成一条包 阅读全文
posted @ 2023-03-09 10:56 箫笛 阅读(74) 评论(0) 推荐(0) 编辑
摘要:Rxjs 就是利用javascript实现了响应式编程的概念,利用监听流的模式处理异步操作。 1. 函数响应式编程 函数式编程 声明式 纯函数 数据不可变性 响应式编程 通过可监听流实现异步编程 2. Observable 和 Observer Rxjs中的数据流就是Observable对象,它是被 阅读全文
posted @ 2023-03-08 15:53 箫笛 阅读(113) 评论(0) 推荐(0) 编辑
摘要:发布-订阅模式也叫观察者模式,可以用在异步编程中替代回调函数的方案。发布-订阅模式可以取代对象之间硬 编码的通知机制,一个对象不用显式地调用另一个对象的某个接口。发布-订阅模式让两个对象松耦合地联系在 一起,虽然不太清除彼此的细节,但这不影响它们之间相互通信。 1. 发布-订阅模式的实现思路 指定发 阅读全文
posted @ 2023-03-08 15:38 箫笛 阅读(192) 评论(0) 推荐(0) 编辑
摘要:定义:允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 其主要原理是将状态封装成独立的类,并将请求委托给当前的状态对象,当对象内部状态变化时, 会带来不同的行为变化。 1. 状态模式类实现方式 // 状态类 class OffLightState { constructor( 阅读全文
posted @ 2023-03-07 12:01 箫笛 阅读(45) 评论(0) 推荐(0) 编辑
摘要:React-Router帮助我们实现单页应用的路由跳转功能 1. 简单路由 src/pags/home.js const Home = () => { return ( <div>Home</div> ); }; src/Routes.js import React from 'react'; im 阅读全文
posted @ 2023-03-06 17:59 箫笛 阅读(81) 评论(0) 推荐(0) 编辑
摘要:定义:迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也 可以顺序访问其中的每个元素。 1. 内部迭代器 内部迭代器在调用的时候非常方便,外界不用关心迭代器的 阅读全文
posted @ 2023-03-05 20:47 箫笛 阅读(52) 评论(0) 推荐(0) 编辑
摘要:定义: 定义一系列的算法,把它们一个个封装起来,并且使他们可以相互替换。 实现方案一:将算法集中在对象中进行管理,利用对象的key值选取需要的算法 // 定义策略对象的一系列算法 const strategies = { "S": salary => salary * 4, "A": salary 阅读全文
posted @ 2023-03-04 00:02 箫笛 阅读(121) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示