- 博客(22)
- 收藏
- 关注
原创 created和mounted的区别
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。 mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
2021-12-06 16:05:53
370
原创 递归函数 以及递归实现数组扁平化 和递归实现深拷贝
1.递归函数:在函数内部自身调用自身的函数。2.//方法: 1:找临界值:无须计算,即可得出的值:---退出递归的条件 2:这一次和上一次运算的关系fn和fn-1的关系 3:假设当前递归函数可以运行,根据上一次调用自身的结果,写出这次运算的结果。f(n)=f(n-1)+n=>f(10)=f(9)+10=f(8)+10+9下面用递归 做几道题帮助理解<!DOCTYPE html><html lang="e...
2021-11-30 17:13:51
3814
3
原创 rem 原理以及原生JS的实现
1.rem 的概念rem(font size of the root element)是指相对于根元素的字体大小的单位。简单的说它就是一个相对单位。2.rem 的原理拿到设计稿,按照设计稿的宽去设置一个合适的rem ,配合js查询屏幕大小来改变html的font-size,从而达到适配各种屏幕的效果简单来说就是 : 1rem=html根标签字体大小设备的可视宽度750移动端页面原图宽度 核心代码: console.log('1rem='...
2021-11-23 19:38:42
3202
2
原创 Vuex 详细使用和详细讲解
1.有关 Vuex 方面的问题和方法有一下内容 vuex 的概念和作用 vuex 的五大核心以及相应概念 vuex 的安装 vuex 的使用场景 Vuex 如何使用 Vuex 的运行机制 vuex 的数据持久化 vuex 的简介方法 --- 映射 还有 vuex 的模块化 1.Vuex 的概念Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保.
2021-11-19 20:28:03
1108
原创 Vue 的父子组件生命周期钩子函数执行顺序
加载渲染过程父 beforeCreate->父 created->父 beforeMount->子 beforeCreate->子 created->子 beforeMount->子 mounted->父 mounted子组件更新过程父 beforeUpdate->子 beforeUpdate->子 updated->父 updated父组件更新过程父 beforeUpdate->父 updated销毁过程父 before
2021-11-19 11:48:20
509
原创 Vue2.0 响应式数据的原理以及代码实现
对象内部通过 defineReactive 方法,使用 Object.defineProperty 将属性进行劫持(只会劫持已经存在的属性),数组则是通过重写数组方法来实现。当页面使用对应属性时,每个属性都拥有自己的 dep 属性,存放他所依赖的 watcher(依赖收集),当属性变化后会通知自己对应的 watcher 去class Observer { // 观测值 constructor(value) { this.walk(value); } walk...
2021-11-19 11:47:36
957
原创 一篇让你彻底明白防抖和节流以及应用场景
1.谈一谈防抖与节流?有什么区别?如何实现? 定义 所谓防抖,就是指触发事件后,在 n 秒后函数才会执行,如果在 n 秒内又触发了事件,则会重新计算函数执行时间 所谓节流,就是指连续触发事件,但是在 n 秒中只执行一次函数 区别 函数节流不管事件触发有多频繁,都会保证在规定时间内一定会执行一次真正的事件处理函数,而函数防抖只是在最后一次事件后才触发一次函数 使用场景 防抖: 搜索框搜索输入。只需用户最后一次输入完,再发送
2021-11-18 16:36:52
5394
原创 Vue中使用ECharts的基本操作
1.安装cnpm install echarts --save2.引入全局引入import echarts from 'echarts'Vue.prototype.echarts = echarts局部引入// import echarts from 'echarts'; 4.7.0 版本import * as echarts from 'echarts'; 5.1.0 版本 按需引入 请看官网 Handbook - Apache EChartsA.
2021-11-17 14:32:15
561
原创 闭包详细解释以及闭包应用场景
1.闭包的概念: 当一个函数的返回值是另外一个函数,而返回的那个函数如果调用了其父函数的内部变量,且返回的那个函数在外部被执行,就产生了闭包.2.闭包的定义:一般有两种方式<script> //第一种定义方式 function outer(){ var num=10; function inner(){ return num+=10 } return inner() } //调用 console.log(outer(...
2021-11-17 11:59:51
5023
原创 详细 解释findIndex和indexOf 区别 以及find
1.indexOf与findIndex都是查找数组中满足条件的第一个元素的索引2.indexOf主要用于查找基本数据类型const arr= ['a', 'b', 'c', 'd', 'e'];console.log(arr.indexOf('b'));// 13.findIndex 可用于查找复杂数据类型.4.findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。5.findIndex,一般判断条件比较简单6.findI...
2021-11-09 17:08:33
1496
原创 深拷贝浅拷贝的区别和原理
1.为什么要使用深拷贝?我们希望在改变新的数组(对象)的时候,不改变原数组(对象)2.深拷贝和浅拷贝的区别 1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用 2.深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用” B复制A,A变,B变,浅拷贝。 B复制A,A变,B不变,深拷贝。<script> let a =...
2021-10-29 08:39:19
801
原创 VUE 数据上绑定原理 以及简易实现
1.vue实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式。通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应监听回调。当把一个普通 Javascript 对象传给 Vue 实例来作为它的 data 选项时。Vue 将遍历它的属性,用 Object.defineProperty 将它们转为 getter/setter。用户看不到 getter/setter,但是在内部它们让 Vue 追踪依赖,在属性被访
2021-10-24 20:03:05
1892
原创 Axios 的二次分装
为了方便对axios操作,我们通常对axios进行二次封装首先在src目录下创建utils/request.js,然后在requset.js中配置service.interceptors.request.use里面设置请求头(token) service.interceptors.response.use里面是对返回的数据进行操作//1. 先引入axios依赖包import axios from "axios";//2. axios创建对象const Server = ...
2021-10-08 18:29:24
851
原创 ES6新增两种数据结构 set和map 和一种数据类型Symbol
1.ES6 提供了新的数据结构 Set,没有重复元素,类似于数组数据结构2.Map键值对的双列集合<1> JavaScript的对象(Object),本质上是键值对的集合(Hash结构),但是只能用字符串当作键。这给它的使用带来了很大的限制.<2> Map也是键值对,但是键的范围不限于字符串,各种类型的值都可以当做对象。// 2:属性和方法 // 属性:constructor、size // 方法:操作方法和遍历方法 // get(...
2021-10-03 12:11:03
297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人