通用
文章平均质量分 63
小笼包是馒头
这个作者很懒,什么都没留下…
展开
-
三分钟学JS设计模式(十)享元模式
享元模式 一、定义 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。 举个栗子:有两种食物容器:杯子和碗,假如碗只能装米饭、杯子只能装饮料。有10碗的米饭和10杯的饮料。 正常情况装这些食物需要10个碗和10个杯子,为了少洗碗(系统资源有限) 可以重复用这些餐具,这时候最少只需要1个碗和1个杯子。 这就是享元模式。 二、 场景 数据库连接:多次操作同一个数据库数据不需要多次创建数据库连接对象,只需创建一个,然后重复使用。 三、代码 举例node连接mong原创 2021-01-14 15:31:04 · 87 阅读 · 1 评论 -
三分钟学JS设计模式(二)观察者模式
观察者模式 一、什么是观察者模式 观察者模式(Observer),又叫订阅模式,当一个对象被修改时,则会自动通知依赖它的对象。 举个栗子:老王和小李都关注(订阅、subscribe)了XX公众号,公众号有新内容的时候会自动通知(notify)到所有关注者,此时老王和小李都会收到消息。不喜欢的时候去掉订阅就不会再收到消息了。 二、 优缺点 优点: 1、有一套触发机制。 2、观察者和被观察者是抽象耦合的(两者的关联仅有订阅和通知两种行为)。 缺点: 1、被观察者有很多观察者会有很多,通知到所有的原创 2020-12-07 10:51:11 · 126 阅读 · 0 评论 -
三分钟学JS设计模式(番外一)观察者模式与发布-订阅模式
观察者模式与发布-订阅模式 一、定义 观察者模式(Observer),当一个对象被修改时,则会自动通知依赖它的对象。 发布订阅模式(Pub-Sub Pattern): 二、 优缺点 三、场景例子、代码实现 模拟公众号订阅行为 // 【公众号订阅器】 const Observer = function () { // 订阅者信息 this.listeners = []; }; // 订阅操作,返回取消当前订阅的方法 Observer.prototype.subscribe = functio原创 2020-12-21 10:11:40 · 181 阅读 · 0 评论 -
正则表达式
正则表达式 前言 参考资料:菜鸟教程:http://www.runoob.com/regexp/regexp-syntax.html。笔者的学习的网站,以下为自己理解内容加上部分内容引用,侵删。 一、语法 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子...原创 2018-08-23 14:21:35 · 386 阅读 · 0 评论 -
前端性能优化:节流与防抖
前言 有时候一些操作可能在短时间内执行多次,但是效果却不是很明显。比如监听键盘Input的时候,敲中文的时候,中文还没打出来已经发起请求n多次;滚动鼠标的时候也会触发好多次,十分影响性能。所以需要加入“防抖”或者“节流”来优化。 参考:https://blog.csdn.net/crystal6918/article/details/62236730 侵删。 正文 一、防抖(debounce) 若...原创 2018-10-08 11:12:28 · 1487 阅读 · 2 评论 -
【GIT】修改GIT提交人记录信息
前言: 场景: 公司内部有git账号,以工号命名,个人账号参与开源项目;提交开源项目的时候用户名没切换成个人账户,导致项目都是工号的提交记录,违反了公司规定。 参考: stackoverflow:How to change the author and committer name and e-mail of multiple commits in Git? 51CTO:修改git全部已提交的用...原创 2019-04-24 15:34:41 · 1879 阅读 · 2 评论 -
前端开发的几点经验分享
前端开发的几点经验分享 前言 码农日益增长的需求功能需要同落后的代码实现之间的矛盾。 随着软件项目迭代,代码的日积月累,维护成本变得越来越高。 同样是实现功能,怎么能写出更有价值的代码,应该是码农要追求的道路。 本文由一个demo入手,讲述下个人对这方面的理解。 参考的学习视频(网易云课堂) 一、DEMO 1.1 需求描述 实现一个简易浏览器,功能可以参考我们自己的浏览器。涉及功能如下 U...原创 2019-09-05 09:42:22 · 608 阅读 · 0 评论