摘要:
这个时候可以用this.$set(),给新添加的对象属性,或数组元素添加getter,setter方法 简单说即是:当你发现你给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也 许这个时候就需要用到this.$set()这个方法了 methods:{ btn(){ Vue.set( 阅读全文
posted @ 2023-06-21 17:39
有只小菜猫
阅读(77)
评论(0)
推荐(0)
摘要:
代码层面的优化 v-if 和 v-show 区分使用场景 computed 和 watch 区分使用场景 v-for 遍历必须为 item 添加 key,且避免同时使用 v-if 长列表性能优化 事件的销毁 图片资源懒加载 路由懒加载 第三方插件的按需引入 优化无限列表性能 服务端渲染 SSR or 阅读全文
posted @ 2023-06-21 17:22
有只小菜猫
阅读(32)
评论(0)
推荐(0)
摘要:
因为JavaScript的特性所导致,在component中,data必须是以函数的形式存在,不可以是对象。 简单来说,就是为了保证组件的独立性和可复用性,如果 data 是个函数的话,每复用一次组件就会返回新的 data,类似于给每个组件实例创建一个私有的数据空间,保护各自的数据互不影响 若单纯的 阅读全文
posted @ 2023-06-21 17:21
有只小菜猫
阅读(32)
评论(0)
推荐(0)
摘要:
父级 prop 的更新会向下流动到子组件中,但是反过来则不行,防止从子组件意外改变父级组件的状态 每次父级组件发生更新时,子组件中所有的 prop 都将会刷新为最新的值 子组件想修改时,只能通过$emit 派发一个自定义事件,父组件接收到后,由父组件修改 阅读全文
posted @ 2023-06-21 17:12
有只小菜猫
阅读(9)
评论(0)
推荐(0)
摘要:
【能够将开发代码转换为生产代码的工具称为构建工具】 webpack:是前端模块化方案,侧重模块打包。可以使用NPM打包 把开发中所有资源都看成模块,通过配置 loader 和 插件对资源进行处理。实现团队开发项目目录的统一 其他构建工具: Gulp:调前端开发的流程,需要进行很多配置。适合打包一些轻 阅读全文
posted @ 2023-06-21 17:08
有只小菜猫
阅读(39)
评论(0)
推荐(0)
摘要:
它的功能是把对应的字符串解析成 JS 代码并运行; 应该避免使用 eval,不安全,非常耗性能(2次,一次解析成 js 语句,一次执行) eval("x=10;y=20;document.write(x*y)"); document.write("<br>" + eval("2+2")); docu 阅读全文
posted @ 2023-06-21 17:02
有只小菜猫
阅读(37)
评论(0)
推荐(0)
摘要:
1、Map是键值对,Set是值得集合,当然键和值可以是任何得值 2、Map可以通过get方法获取值,而Set不能因为它只有值 3、都能通过迭代器进行for...of 遍历 4、Set的值是唯一的可以做数组去重,而Map由于没有格式限制,可以做数据存储 阅读全文
posted @ 2023-06-21 16:39
有只小菜猫
阅读(166)
评论(0)
推荐(0)
摘要:
1、forEach 更多的用来遍历数组 2、for in 一般常用来遍历对象或json【循环出的是key】 3、for of 数组对象都可以遍历,遍历对象需要通过和Object.keys()【循环出的是value】 阅读全文
posted @ 2023-06-21 16:38
有只小菜猫
阅读(230)
评论(0)
推荐(0)
摘要:
数组提供的API可以 sort() 属于算法的题 常见的排序算法:冒泡排序、快速排序、二分法... //冒泡排序 var arr = [23, 9, 78, 6, 45] for (var i = 0; i < arr.length - 1; i++) { // console.log(i) // 阅读全文
posted @ 2023-06-21 16:36
有只小菜猫
阅读(41)
评论(0)
推荐(0)
摘要:
var a = [1, 2, 3, 1, 2, 3, 1, 1, 4, 4, 5, 4, 5, 2] // function unique(arr) { // var newArr = [] // arr.forEach((item) => { // // 新数组中是否含有该元素 // if (ne 阅读全文
posted @ 2023-06-21 16:36
有只小菜猫
阅读(15)
评论(0)
推荐(0)
摘要:
JS中常用的类数组:arguments、dom操作中获取到一组节点元素 类数组也是数组的一种,将元素放入到了数组中,也是通过下标访问元素,也有length属性,但是类数 组中没有数组的API var aList = document.getElementsByTagName('li') // 转为数 阅读全文
posted @ 2023-06-21 16:35
有只小菜猫
阅读(19)
评论(0)
推荐(0)
摘要:
1、普通函数中 指向window对象,严格模式下为undefined 2、对象中 指向调用函数的对象 3、构造函数和类中 配合new使用,new关键字将构造函数中的this指向实例对象 4、绑定事件函数 指向调用函数的对象 5、定时器中 指向window对象,因为定时器中采用回调函数作为处理函数,回 阅读全文
posted @ 2023-06-21 16:19
有只小菜猫
阅读(92)
评论(0)
推荐(0)
摘要:
1、箭头函数更加简洁。 2、箭头函数没有自己的this,只会在自己作用域的上一层继承this 3、箭头函数继承来的this 指向永远不会变,使用call() | apply() | bind() 等方法不能改变 4、箭头函数不能作为构造函数使用,没有自己的arguments | prototype 阅读全文
posted @ 2023-06-21 16:16
有只小菜猫
阅读(11)
评论(0)
推荐(0)
摘要:
varletconst 变量提升 √ × × 重复声明(同作用域) √ × × 赋初值 × × √ 变量 全局 局部 局部 var 声明的变量有变量提升的特性,而 let、const 没有 var 声明的变量会挂载到 windows 对象上,所以使用 var 声明的是全局变量,而 let 和 con 阅读全文
posted @ 2023-06-21 16:15
有只小菜猫
阅读(19)
评论(0)
推荐(0)
摘要:
(1)ES5 // 构造函数 function Person(name) { this.name = name } // 原型 Person.prototype.say = function () { console.log('我是' + this.name) } // 子类构造函数继承父类构造函数 阅读全文
posted @ 2023-06-21 16:12
有只小菜猫
阅读(35)
评论(0)
推荐(0)
摘要:
现在浏览器的缓存中查找是否存在 DNS解析,找到服务器 浏览器和WEB服务器建立连接:三次连接 建立连接后,客户端向服务端发送请求 服务器端收到请求,处理请求,将响应信息发送给客户端 客户端和服务器端断开连接:四次挥手 客户端解析响应的消息,最后渲染成一张网页 阅读全文
posted @ 2023-06-21 16:10
有只小菜猫
阅读(18)
评论(0)
推荐(0)
摘要:
一、意外的全局变量 由于使用了未声明的变量,以外的创建了一个全局变量,此变量一直留在内存中无法被回收 二、被遗忘的计时器或者回调函数 设置了setInterval定时器,忘记取消。若循环函数又对外部变量的引用,此变量会一直留在内存,无法回收 三、脱离DOM的引用 获取了一个DOM元素的引用,而后面这 阅读全文
posted @ 2023-06-21 16:05
有只小菜猫
阅读(34)
评论(0)
推荐(0)
摘要:
1)函数对象——就是平时称的对象; 2)实例对象——new出的对象或者{ }; 3)原型对象——所有的函数对象都有一定有一个对应的原型对象,所有的原型对象都是被Object函数对象创建出来的 所有的函数对象中都有一个名字叫prototype的引用类型变量,该引用类型变量是函数对象的成员,它的值是对应 阅读全文
posted @ 2023-06-21 15:19
有只小菜猫
阅读(58)
评论(0)
推荐(0)
摘要:
一、概念 new 能创建一个实例对象; 这个对象是给定的构造函数 function Person(name, age){ this.name = name; this.age = age; console.log(this) // Person { name: 'Tom', age: 20 } } 阅读全文
posted @ 2023-06-21 14:54
有只小菜猫
阅读(55)
评论(0)
推荐(0)