当前位置: 首页 > news >正文

青海风控app下载防控政策优化

青海风控app下载,防控政策优化,不得不知道的网站,那个网站域名估价好1 工厂模式 // 工厂模式: 调用函数返回对象function factory(name, age){return {name: name,age: age} }const person1 factory(Tom, 18); // 类似的库使用工厂函数的有: jQuery, React.createElement,axios.create,vue.createApp等 2 单例模式 // 单例模式:单…

1 工厂模式

// 工厂模式: 调用函数返回对象function factory(name, age){return {name: name,age: age}
}const person1 = factory('Tom', 18);
// 类似的库使用工厂函数的有: jQuery, React.createElement,axios.create,vue.createApp等

2 单例模式

// 单例模式:单例方法返回唯一实例 单例模式的核心是确保只有一个实例,并提供全局访问
// 单例模式实现class SingleTon {static #instance = null;static getInstance(){if(!this.#instance){this.#instance = new SingleTon();}return this.#instance;}
}
// 这是单例模式的方法
const singleTon1 = SingleTon.getInstance();
const singleTon2 = SingleTon.getInstance();
console.log(singleTon1 === singleTon2); // true
// 类似的库使用单例模式的有: vue.use vant中的notify等

3 观察者模式

// 观察者模式:一个对象可能有一个或多个观察者,当对象状态发生变化时,会通知所有观察者(执行对应的回调)
// 最典型的例子是DOM事件 如下就是一个简单的观察者模式
const button = document.getElementById('button');
button.addEventListener('click', function(){console.log('click');
})
// 可以有多个事件监听器(观察者)
button.addEventListener('click', function(){console.log('click2');
})

4 发布订阅模式

// 发布订阅模式:发布者和订阅者之间没有直接联系,通过第三方来实现调度(事件总线)
// 一般来说有四种行为 $on注册事件 $off清除事件 $emit触发时间 $once仅触发一次
// 现在简单的实现一个发布订阅模式
class MygoEventBus{#handlers = {}$on(event, callback){if(!this.#handlers[event]){this.#handlers[event] = []}this.#handlers[event].push(callback)}$emit(event, ...args){this.#handlers[event] ||  (this.#handlers[event] = [])this.#handlers[event].forEach(callback => {callback(...args)})}$off(event){this.#handlers[event] = undefined}$once(event, callback){this.$on(event, (...args) => {callback(...args)this.$off(event)})}
}// 测试代码
const bus = new MygoEventBus();
bus.$on('click', function(){console.log('click');
})
bus.$on('click', function(){console.log('click2');
})
bus.$emit('click');
bus.$emit('click');
bus.$off('click');
bus.$emit('click');
bus.$once('click', function(){console.log('click3');
})
bus.$emit('click');
bus.$emit('click');
// 输出结果为 click click2 click click2 click3

5 原型模式

// 原型模式:类似于使用object.create()方法创建对象
// 通过原型模式创建对象
const person = {name: 'Tom',age: 18
}const person2 = Object.create(person);
// 再Vue中数组和对象的响应式原理就是通过原型模式实现的

6 代理模式

// 代理模式:代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问
// 下面举例一个应用场景(类似于DNS查找)就是数据缓存中间件 代码如下:
class AreaData{cache = {}getAreaCode(code){if(!this.cache[code]){// 模拟请求数据console.log('请求数据')this.cache[code] = 'area' + code}return this.cache[code]}
}const areaData = new AreaData();
console.log(areaData.getAreaCode(1));
// 第二次请求数据时,直接返回缓存数据
console.log(areaData.getAreaCode(1));
console.log(areaData.getAreaCode(2));

7 迭代器模式

// 迭代器模式:只要一个对象实现了迭代器协议和next方法,就可以被for...of循环遍历
// 实现迭代器可以使用generator或者手动实现
// [Symbol.iterator]要求返回一个迭代器对象,迭代器对象要求有next方法,next方法返回一个对象,对象有value和done两个属性
const obj = {[Symbol.iterator]: () =>{function* gen(){yield 1;yield 2;yield 3;}return gen();}
}for(let item of obj){console.log(item); // 1 2 3
}// 手动实现迭代器
const obj2 = {data: [1, 2, 3],[Symbol.iterator]: function(){let index = 0;let that = this;return {next(){return {value: that.data[index],done: index++ === that.data.length}}}}
}for(let item of obj2){console.log(item); // 1 2 3
}// 迭代器模式模仿python中的range
function* range(end){for(let i = 0; i < end; i ++){yield i;}
}for(let item of range(10)){console.log(item); // 0 1 2 3 4 5 6 7 8 9
}

http://www.yayakq.cn/news/605673/

相关文章:

  • 免费制作网页网站软文是指什么
  • dedecms大气金融企业网站模板重庆建设工程信息网官网入渝备案
  • 重庆忠县网站建设公司网站站点是什么?如何创建站点?
  • 太原网站制作好吗杭州企业网站seo
  • 知名室内设计网站网站屏蔽收录
  • 有没有可以做兼职的网站有什么做外贸的好网站
  • wordpress 站点更改成都网站设计网站
  • 网站制作怎么学台州工程建设信息网站
  • 网站建设的客户需求分析调研表建网站需要哪些知识
  • 营销型网站欣赏我谁知道在哪里可以找人帮忙做网站
  • 西安SEO网站建设哪家好买保险网站
  • 网站备案费用用dw做网站的流程
  • 网页小游戏网站建设湖南省房屋和城乡建设部网站
  • 电商网站规划与设计论文win8风格企业网站
  • 做网站怎样上传文件wordpress标签code
  • vs简单的网站开发客户管理软件app
  • 蓬莱网站建设哪家好手机网站指向什么意思
  • 惠州网站搭建深圳网站托管
  • canvas网站在线设计神器沈阳网站公司哪个好
  • 招商网站建设运营wordpress是完全免费的嘛
  • 商用自适应网站建设熊掌号怎么域名做网站
  • 织梦广告网站模板免费下载淮南网红小长城
  • 网站开发前期工作中小型网站站内搜索实现
  • 广西网站建设招标公司平面广告设计工作内容
  • windows7做网站德阳市建设管理一体化平台网站
  • 个人主页建站广州代理记账
  • c 网站开发 简单例子中国建筑网官网投诉查询
  • 电脑做服务器建网站并让外网访问varnish 4.0 wordpress
  • 石家庄网站建设登录移动端app开发
  • 德州市住房和城乡建设部网站app分发平台