摘要:1. 数组filter方法,参数传入一个函数,不改变数组本身,不对空数组操作,返回一个新数组。 Array.prototype.filterTest = function (callback) { if (typeof callback != 'function') { throw Error(`$
阅读全文
摘要:1. call方法的实现是通过this指针的指向不同实现的。 Function.prototype.myCall = function (arg) { let context = arg || window; // 如果this为空则指向window context.fn = this; // 当前
阅读全文
摘要:1. plop是一个小型的脚手架工具,可以很好的为我们构建重复文件使用。 2. 引入:npm install --save-dev plop 或者全局引入 npm install -g plop 3. 在对应的项目中构建plopfile.js 文件,这个JS文件中会导出一个方法:,有一个setGen
阅读全文
摘要:数组扁平化是什么 const arr = [1,2,[3,4,[5]]] 将arr扁平化处理 arr = [1,2,3,4,5] 就是将多维数据变成一维数组 1. 第一种:es6提供的方法有很多,也提供了一种扁平化的方法flat 接受一个参数,参数代表的是深度,默认是1,传入Infinity代表任意
阅读全文
摘要:1. 对于已经定义的变量赋值, 这样就会进行提示,语法错误,ts就会提示语法错误,并且应该将这个赋值语句进行括号括起来。 2. 对于对象结构操作时: 从这里可以看出实际上结构操作就是先从对象属性中遍历出相同的属性,然后进行的赋值操作。 复杂对象结构 3. 数组结构:一个个值进行的对应,数组结构的话是
阅读全文
摘要:以下内容为个人见解: 1.发布-订阅模式我认为是解决通信问题很方便的一种模式。 2.我想以前用过addEventListener这个事件订阅方法的,这个是原生JS中发布-订阅模式的体现。 下面就讲一下这个发布-订阅模式的实现,请读者多多提意见。 发布-订阅模式,从这个名字可以看出应该会有两个动作,发
阅读全文
摘要:Map和Set作为es6新增的数据结构,都有着新的特性,以下的几点特性都是个人理解: 1.Map是一个键值对的集合,可以说和对象的结构差不多,都是以key,value的形式存在,但不同的是对象的key只能string类型,你填入数组或者其他的引用类型会造成无法识别的问题,Map则不同,Map可以是任
阅读全文
摘要:渲染页面的5个过程: 1.解析HTML 2.解析CSS 3.构建Render Tree 4.布局(layout) 5.渲染(Paiting) 在解析HTML 构建DOM树和解析CSS构建CSSOM(CSS Object Model)的过程中如果碰到script标签就会停止对DOM书和CSSOM的构建
阅读全文