随笔分类 - JS
摘要:性能优化 输入URL后发生了什么? 页面是怎么渲染的?? 从哪些方面进行性能优化? 加载时优化 减少HTTP请求(精灵图、文件合并) 减小文件大小(资源压缩、图片、代码压缩) CDN(第三方库,大文件、大图片通过链接获取) SSR服务端渲染,预加载 懒加载 分包 减少DOM操作。避免回流、文档碎片
阅读全文
摘要:深拷贝与浅拷贝 浅拷贝 数组和对象的赋值都属于浅拷贝。 深拷贝 解构赋值一维数组是深拷贝,多维数组浅拷贝:[...arr]; 用法: JSON.parse(JSON.stringfy(list)); 标准的深拷贝代码:专门针对于引用数据类型(数组和对象) function deepClone(sou
阅读全文
摘要:Promise 以上的输出是??? 1 2 4 3 原因在于: new Promise()为构造函数,是同步执行 .then() 为异步执行 使用Promise的原因:解决回调地狱的问题。 三种状态:Pending && fulfiled && rejected (三种状态是不可逆的)
阅读全文
摘要:ES6相关 var&let&const var: 声明提升 ⇒ 先上车后买票 变量覆盖 var没有块级作用域 ⇒ 红杏出墙 const const定义的变量能不能被修改? -不能 const声明之后必须赋值 定义的值不能被修改,否则报错 支持let的其他特性 解构相关 简单实现变量数值转换。
阅读全文
摘要:JS的防抖与限流 JS防抖 理解:将多次操作变成一次 实现示例: function antiShake(fn,wait){ let timeOut = null; return args => { if(timeOut) clearTimeOut(timeOut); timeOut = setTim
阅读全文
摘要:原型与原型链 原型(prototype) 函数特有的属性 function fn(){ } fn.prototype.name="xiao ming"; fn.prototype.fn2 = function(){ console.log("xiao hong"); } 原型链(_prototype
阅读全文
摘要:Vue响应式原理 发布订阅模式 订阅器模型 数据劫持&订阅 依赖于对象的defineProperty方法做数据劫持。 使用 响应式特性 数据联动(双向绑定) 数据劫持(需要捕获到修改操作)
阅读全文