摘要: JavaScript里new操作符具体过程如下: (1)首先创建了一个新的空对象。 (2)设置原型,将对象的原型设置为函数的 prototype对象。 (3)让函数的 this 指向这个对象,执行构造函数的代码(为这个新对象添加属性)。 (4)判断函数的返回值类型,如果是值类型,返回创建的对象。如果 阅读全文
posted @ 2021-09-05 20:55 FxLsoft 阅读(401) 评论(0) 推荐(0)
摘要: 1、函数防抖: 在事件被触发 n 秒后再执行回调,如果在这 n 秒内事件又被触发,则重新计时。 2、函数节流: 规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。 函数防抖的实现 // 防抖函数实现 function deb 阅读全文
posted @ 2021-08-25 18:15 FxLsoft 阅读(57) 评论(0) 推荐(0)
摘要: 函数柯里化指的是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术。 function curry(fn, args) { // 获取函数需要的参数长度 let length = fn.length; args = args || []; return function() { let 阅读全文
posted @ 2021-08-24 15:38 FxLsoft 阅读(149) 评论(0) 推荐(0)
摘要: 1、Call 函数实现 // Call函数实现 Function.prototype.myCall = function(context) { // 判断对象 if (typeof this !== "function") { console.error("Type Error"); } // 获取 阅读全文
posted @ 2021-08-23 18:08 FxLsoft 阅读(54) 评论(0) 推荐(0)
摘要: 给定一个包含了一些 0 和 1 的非空二维数组 grid 。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积 阅读全文
posted @ 2021-08-18 22:21 FxLsoft 阅读(213) 评论(0) 推荐(0)
摘要: // JS版本const PENDING = "pending"; const RESOLVED = "resolved"; const REJECTED = "rejected"; function MyPromise(fn) { // 保存初始化状态 var self = this; // 初始 阅读全文
posted @ 2021-08-16 16:39 FxLsoft 阅读(44) 评论(0) 推荐(0)
摘要: 1.HTTP/1.0 每次TCP连接只能发送⼀个请求,当服务器响应后就会关闭这次连接,下⼀个请求需要再次建⽴TCP连接. 2. HTTP/1.1 默认采⽤持续连接(TCP连接默认不关闭,可以被多个请求复⽤,不⽤声明Connection: keep-alive). 增加了管道机制,在同⼀个TCP连接⾥ 阅读全文
posted @ 2021-08-15 22:41 FxLsoft 阅读(376) 评论(0) 推荐(0)
摘要: vue 通过使用双向数据绑定,来实现了 View 和 Model 的同步更新。vue 的双向数据绑定主 要是通过使用数据劫持和发布订阅者模式来实现的。 首先我们通过 Object.defineProperty() 方法来对 Model 数据各个属性添加访问器属性, 以此来实现数据的劫持,因此当 Mo 阅读全文
posted @ 2021-08-14 23:19 FxLsoft 阅读(56) 评论(0) 推荐(0)
摘要: 基于基础库的开发经验搭建一套类似Spring的基础框架库。 1、解决组件与组件之间的通讯; 2、解决Component的注册、生命周期、初始化; 3、解决Bean之间的通讯,利用依赖注入机制可以直接获取上下文中的Bean; 4、解决模块与模块之间的隔离; @Bean 在上下文中获取单实例 代码实现 阅读全文
posted @ 2021-08-13 17:58 FxLsoft 阅读(206) 评论(0) 推荐(0)