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