摘要:
渲染优化 浏览器渲染原理和关键渲染路径 JavaScript -> Style -> Layout -> Paint -> Composite 使用js方式触发视觉变化 浏览器重新对style做变化 布局:让浏览器知道每个节点的尺寸,要画在哪里 绘制:把需要的节点画出来 复合:多层合成,类似PS。 阅读全文
摘要:
一、数组 1、保留插入顺序 2、通过索引访问元素(索引与排序有关系) 3、可迭代 4、JS数组大小可以动态调整,但内存无法掌控(c++静态数组,长度不可变) 5、允许值重复,且可以为混合类型 6、删除和查找元素比较消耗性能 eg: find() 和 findIndex() ~~~遍历查询,消耗性能, 阅读全文
摘要:
class关键字 作用:class关键字是原型对象的一个语法糖,让原型对象更加清晰 class类的特点 定义的class类,它的数据类型是函数,类名是指向其构造函数的索引,即生成的实例是构造函数的实例 new class名()创建一个实例对象,该实例对象是由构造函数初始化的,所以他的属性是构造函数包 阅读全文
摘要:
JS三座大山_单线程&EventLoop JavaScript是单线程、单并发、非阻塞语言 单线程:主程序只有一个线程,即同一时间片段内其只能执行单个任务。 单线程背景:浏览器执行环境中,若多线程同时对同一DOM进行操作,无法保证程序执行一致性。 引发的问题: 单线程,意味着任务都需要排队,前一个任 阅读全文
摘要:
JS三座大山_闭包 摘自吴留坡《原来JavaScript的闭包是这么回事!》 一、相关概念 1.执行上下文 在执行JS代码时候的运行环境称为执行上下文。包括:全局代码——首次执行代码的默认环境;函数代码——每当执行流程进入函数体时。 执行上下文即当前代码的执行环境或作用域。 2.执行过程 全局:启动 阅读全文
摘要:
原型与原型链 原型模式 JS是一门基于原型模式的语言 原型模式用于创建重复的对象,性能较高,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 该模式实现了一个原型接口,该接口用于创建当前对象的克隆。原型模式的目的是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,即: 阅读全文
摘要:
深拷贝与浅拷贝 浅拷贝:将原对象或原数组的引用直接赋值给新对象。新对象/新数组只是原对象/原数组的一个引用。 深拷贝:创建一个新对象/数组,将原对象的键/值全部赋值到新对象中,是真值,而非引用。 深拷贝的意义:改变新对象,不影响原对象 堆内存与栈内存 栈内存:存放基本数据类型以及引用类型的地址 堆内 阅读全文
摘要:
this指向问题 定义:this是函数运行时所在的环境对象。this指向在函数定义时候无法确定,只有在函数调用时候才可以确定。实际上this指向的是最终调用它的那个对象,即:谁调用的就指向谁 非严格模式下,没有挂载对象的函数,this指向window,有挂载对象的指向调用对象。严格模式下,没有挂载对 阅读全文
摘要:
二进制对象前端下载 exportDetails(id) { downLservice({ orderSn: id }).then(res => { if (res.data.type 'application/json') { var s = res.data var b = new Blob([s 阅读全文
摘要:
工具函数-校验类 正整数校验 // 正整数校验 CheckPositiveNumber: function(num) { const reg = /^[1-9]\d*$/ return reg.test(num) } 两位小数校验(价格校验) // 两位小数校验(价格校验) CheckPositiv 阅读全文