02 2020 档案

摘要: 阅读全文
posted @ 2020-02-29 20:38 bigman-bugman 阅读(282) 评论(0) 推荐(0)
摘要:涉及到的角色: call stack 调用栈 event table 事件注册表,主要做异步事件与事件回调的对应关系映射 event quene 事件回调队列 1.同步代码直接放入call stack 2.遇到异步 ,如setTimeout ,会先在event table中产生映射,等异步处理完,该 阅读全文
posted @ 2020-02-25 17:12 bigman-bugman 阅读(94) 评论(0) 推荐(0)
摘要:什么是斐波那契数列: 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以 阅读全文
posted @ 2020-02-25 09:50 bigman-bugman 阅读(255) 评论(0) 推荐(0)
摘要:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序是一种稳定 阅读全文
posted @ 2020-02-21 13:17 bigman-bugman 阅读(144) 评论(0) 推荐(0)
摘要:var quickSort2 = function(arr) { console.time('2.快速排序耗时'); if (arr.length <= 1) { return arr; } var pivotIndex = Math.floor(arr.length / 2); var pivot 阅读全文
posted @ 2020-02-21 11:39 bigman-bugman 阅读(147) 评论(0) 推荐(0)
摘要:function insertionSort(array) { if (Object.prototype.toString.call(array).slice(8, -1) 'Array') { console.time('插入排序耗时:'); for (var i = 1; i < array.l 阅读全文
posted @ 2020-02-21 11:23 bigman-bugman 阅读(123) 评论(0) 推荐(0)
摘要:function selectionSort(arr) { var len = arr.length; var minIndex, temp; console.time('选择排序耗时'); for (var i = 0; i < len - 1; i++) { minIndex = i; for 阅读全文
posted @ 2020-02-21 10:50 bigman-bugman 阅读(87) 评论(0) 推荐(0)
摘要:意图:运用共享技术有效地支持大量细粒度的对象。 主要解决:在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。 何时使用: 1、系统中有大量对象。 2、这些对象消耗大量内存。 3、这些对象的状态大部分可以外部化。 4、这 阅读全文
posted @ 2020-02-11 19:28 bigman-bugman 阅读(85) 评论(0) 推荐(0)
摘要:和平时开发中是用的webpack 代码请求解决跨域问题类似 主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在 阅读全文
posted @ 2020-02-08 12:53 bigman-bugman 阅读(142) 评论(0) 推荐(0)
摘要:理解记忆要点: 从f1实例开始 分三个方面阐述 __proto__、prototype、constructor 实例对象的__proto__ 一定是该实例构造函数的原型,但是需要先确定它的constructor,然后才能确定它的原型。如,f1.__proto__ Foo.prototype(原因,实 阅读全文
posted @ 2020-02-08 10:40 bigman-bugman 阅读(433) 评论(0) 推荐(0)
摘要:深度优先遍历(Depth First Search): 自顶点起, 往下一个邻近点走,一直走,走不动了,退回一部。这样反复; /*深度优先遍历三种方式*/ let deepTraversal1 = (node, nodeList = []) => { if (node !== null) { nod 阅读全文
posted @ 2020-02-07 21:52 bigman-bugman 阅读(490) 评论(0) 推荐(0)
摘要:观察者模式: var subject = { observers: [], notify() { this.observers.forEach(observer =>{ observer.update() }) }, attach (observer) { this.observers.push(o 阅读全文
posted @ 2020-02-07 20:48 bigman-bugman 阅读(273) 评论(0) 推荐(0)
摘要:概念: 装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。 其实,就是创建一个包装器,里面有增强的功能,然后把目标对象给套住,就直接使用包装器对象。 UML: es6: class 阅读全文
posted @ 2020-02-07 17:02 bigman-bugman 阅读(117) 评论(0) 推荐(0)
摘要:netstat -an 查看计算机监听的TCP UPD 端口 阅读全文
posted @ 2020-02-05 13:00 bigman-bugman 阅读(94) 评论(0) 推荐(0)
摘要:工厂方法模式,通过对产品类的抽象使其创建业务,主要负责创建多类产品的实例。前面记录了简单工厂模式,但是需求时不断变化的,当需求简单时,直接创建对象就行,需求多了就可以用简单工厂重构,但是当需求不断增加时,我们不仅要添加类,还要修改工厂函数,这样很不友好,所有还需要更好的模式来适应更多的需求。 安全模 阅读全文
posted @ 2020-02-04 20:25 bigman-bugman 阅读(217) 评论(0) 推荐(0)
摘要:举例: $('div') React.createElement 结构: 简单工厂模式包含如下角色: Factory:工厂角色工厂角色负责实现创建所有实例的内部逻辑 Product:抽象产品角色抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口 ConcreteProduct:具 阅读全文
posted @ 2020-02-04 09:51 bigman-bugman 阅读(115) 评论(0) 推荐(0)
摘要:为何组件要从直接产出 html 变成产出 Virtual DOM 呢?其原因是 Virtual DOM 带来了 分层设计,它对渲染过程的抽象,使得框架可以渲染到 web(浏览器) 以外的平台,以及能够实现 SSR 等。 阅读全文
posted @ 2020-02-03 21:55 bigman-bugman 阅读(96) 评论(0) 推荐(0)
摘要:http://hcysun.me/vue-design/zh/essence-of-comp.html https://www.muyiy.cn/ https://www.cxymsg.com/ https://ustbhuangyi.github.io/vue-analysis/ http://b 阅读全文
posted @ 2020-02-03 21:36 bigman-bugman 阅读(200) 评论(0) 推荐(0)
摘要:设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中 阅读全文
posted @ 2020-02-01 12:15 bigman-bugman 阅读(89) 评论(0) 推荐(0)
摘要:Adapter Pattern 意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 主要解决:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。 阅读全文
posted @ 2020-02-01 12:11 bigman-bugman 阅读(84) 评论(0) 推荐(0)
摘要:概念解读 外观模式(facade): 为子系统中的一组接口提供一个一致的表现,使得子系统更容易使用而不需要关注内部复杂而繁琐的细节.比如下图就是一个很好形象的说明外观模式的设计思路 作用 对接口和调用者进行了一定的解耦 创造经典的三层结构MVC 在开发阶段减少不同子系统之间的依赖和耦合,方便各个子系 阅读全文
posted @ 2020-02-01 11:43 bigman-bugman 阅读(124) 评论(0) 推荐(0)
摘要:主要解决: 在有多种算法相似的情况下,使用 if...else 或 switch...case 所带来的复杂性和臃肿性 优点 算法多样性,且具备自由切换功能; 有效避免多重条件判断,增强了封装性,简化了操作,降低出错概率; 扩展性良好,策略类遵顼 里氏替换原则,可以很方便地进行策略扩展; 缺点 策略 阅读全文
posted @ 2020-02-01 11:06 bigman-bugman 阅读(127) 评论(0) 推荐(0)