01 2020 档案
摘要:1.观察者模式是高耦合,,目标和观察者是直接联系起来的,基于对象 2.发布订阅模式中,双方不知道对方的存在,而观察者模式中,基于自定义事件 3.观察者模式与发布订阅模式都是定义了一个一对多的依赖关系,当有关状态发生变更时则执行相应的更新。 4.不同的是,在观察者模式中依赖于 Subject 对象的一
阅读全文
摘要:function mynew(fn) { return function() { let obj = { __proto__:fn.prototype } fn.apply(obj,arguments) return obj } }
阅读全文
摘要:js中call,apply和bind广泛应用,都可以用来改变this指向,call和apply的区别在于参数传递的不同,前者是参数序列,后者是数组。bind的函数也是参数序列,但是需要生成一个新的函数 1.call,传递的参数为序列 Function.prototype.mycall = funct
阅读全文
摘要:防抖和节流是前端应用开发中常见的两个功能,其原理都是利用闭包,缓存延迟时间。常用于窗口的resize、scroll,输入框内容校验等操作。 (1)防抖,思路:在规定时间内未触发第二次,则执行,代码如下 function debounce(fn, delay) { let time = null ;
阅读全文