自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 methods、computed和watch的区别

⽐如我们封装编辑 和 新增弹窗组件的时候会通过。或者在写购物⻋数量计算的时候也会使⽤计算属性。计算属性⾥⾯定义的⽅法就会触发。判断我们要显否要清空表单的数。定义的⽅法需要调⽤才能触发。的状态的时候我们会把它放到。依赖属性值的变化⽽变化。是⽤来定义⽅法的区域。他依赖于属性值的变化。当属性发⽣改变的时候。依赖于数据变化⽽触发。

2024-05-17 10:41:48 303

原创 vue的路由模式

模块的话我们需要和后端进⾏配合。模式不 会包含在http。的路由模式⼀共有两种。

2024-05-17 10:40:57 177

原创 TypeScript 相对于 JavaScript 的优势是什么,const 和 readonly 的区别,枚举和常量枚举的区别,接⼝和类型别名的区别

常量枚举 只能使⽤常量枚举表达式,并且不同于常规的枚举,它们在编译阶段会被删除。常量枚举成员在使⽤的地⽅会被内联进来。之所以可以这么做是因为,常量枚举不允许包含计算成员。两者都可以⽤来描述对象或函数的类型。与接 ⼝不同,类型别名还可以⽤于其他类型,如基本类型(原始值)、联合类型、元组。增加了静态类型,可以在开发⼈员编写脚本时检测错误,使得代码质量更好,更健壮。类型可以⼀定程度上充当⽂档。可以防⽌变量的属性被修改。杜绝⼿误导致的变量名写错。可以防⽌变量的值被修改,

2024-05-15 10:25:43 231

原创 什么是TS(typescript ),TS的类型

元组:特殊形式(知道数组内有几个元素,并且知道每个元素的数据类型)的数组。函数的约束:输入(参数)和输出(返回值)进行的约束。name:'张三',unknown未知类型:比any更安全。添加了类型系统的js,是js的超集。函数 function{typescript 简称TS。对象 object{never:从来不存在的类型。any:任意数据类型,

2024-05-15 10:21:57 606

原创 generator函数

声明函数: function 和函数名()中间加*es6新增解决异步,分段执行来解决异步。分段执行 需要配合yield使用。generator函数 理解为生成器。启动函数: next()

2024-05-14 15:33:08 112

原创 promise 是es6新增的异步编程

当我们对promise进行实例化的时候需要传一个函数作为参数,这个函数接收两个函数为参数 resolve,reject。.all() 等待所有promise返回成功就会返回成功,只要有一个返回失败就会失败。.allSettled() 成功失败都会返回(返回的数据告诉我们是成功还是失败).then((res)=>{成功的函数},err=>{失败的函数})promise 是es6新增的异步编程的解决方案(主要用来解决异步),.catch(err=>{失败的函数}).any() 返回第一个成功的。

2024-05-14 15:29:00 274

原创 路由 守卫、跳转

router.replace('/')A页面切换到B页面 再从B页面跳到C页面, B页面被替换返回到A页面。1.声明式导航 router-link(用to属性跳转)2.编程式导航 router.push('/')1.声明式导航 a(用来跳转下载) href()beforeRouteUpdate 更新之前。beforeRouteEnter 进入之前。beforeResolve 解析守卫。beforeEnter 进入之前。beforeEach 前置守卫。afterEach 后置守卫。

2024-05-14 13:56:46 543

原创 vue⽣命周期

⻚⾯⼀开始加载的 时候就会触发创建前后和挂载前后的钩⼦函数,销毁的钩⼦函数必须得当组件进⾏ 切换的时候就会进⾏销毁。分别是创 建前后、挂载前后、更新前后以及销毁前后.的⽣命周期我们可以在不同的阶段进⾏不同的逻辑操作。这个时 候我们⼀般⽤$nextTick。实例从创建到销毁的整个过程我们称之为。⽽更新的钩⼦函数需要当我们改变。⽣命周期常⽤的钩⼦函数⼀共有。这个时候就会更新的钩⼦函数。⾥⾯属性重新进⾏复制操作。我经常使⽤到的钩⼦函数有。还有⼀些其 他的操作.或者获取本地存储的数据。分别对应的钩⼦函数为。

2024-05-13 10:47:00 61

原创 v-model双向绑定

template></script><template></script>

2024-05-13 10:44:31 216

原创 watch监听

watch('监听的数据',数据发生改变触发的函数,{immediate:true(立即监听),deep:true(深度监听)})2.watchEffect不需要写监听的数据,当所依赖的数据发生变化时会自动监听。1.watchEffect会默认开启立即监听,而watch需要手动开启。watchEffect(数据发生改变触发的函数)默认直接开启立即监听。3.watch有新值和旧值,watchEffect没有。watch和watchEffect的区别。watch 监听数据的变化。

2024-05-13 10:38:53 436

原创 常用的两个响应式数据

ref定义的响应式数据,内部会自动添加.value,reactive定义的响应式对象,内部不会自动添加.value。ref定义的响应式数据,底层是通过Object.defineProperty()来实现响应式。ref定义的响应式数据,只能定义一个数据,reactive定义的响应式对象,可以定义多个数据。ref用来定义一个响应式的数据,reactive用来定义一个响应式对象。reactive定义的响应式对象,底层是通过Proxy来实现响应式。reactive定义的响应式对象,操作的时候不需要.value。

2024-05-10 14:33:53 168

原创 原型和原型链

那么就会去它的__proto__属性所指向的那个对象(即它的原型对象)里找,当访问一个对象的属性时,如果这个对象内部不存在这个属性,这个原型对象又有自己的原型对象,于是就这样一直找下去,也就是我们平时所说的“原型链”prototype 显式原型。_proto_ 隐式原型。

2024-05-10 10:34:00 498

原创 继承是什么

继承 继承是面向对象编程中一个重要的概念。它允许我们创建一个基类(称为父类或超类) 然后创建一个或多个派生类(称为子类或子类型),这些派生类继承了父类的属性和方法 并且可以添加自己的属性和方法。 Es5: 1、原型链继承: 能够继承原型链上的属性和方法,不能继承构造函数内部的属性和方法 1、原型链继承是JavaScript中最常用的继承方式。 它通过将一个类的实例赋值给另

2024-05-10 10:33:23 359

原创 事件执行是什么

1.捕获阶段(从外到里)3.冒泡阶段(从里到外)

2024-05-09 15:58:24 383

原创 闭包:函数嵌套函数

3. 实现函数柯里化:柯里化是函数式编程中的一种技术,通过将多个参数的函数转换为接受一个参数的函数,这样可以创建一个接受部分参数的新函数。这些只是闭包应用的一小部分例子,闭包在实际开发中还有许多其他的应用场景,根据具体需求,可以灵活运用闭包来解决问题。4. 延迟执行:通过使用闭包,可以延迟函数的执行,即将函数作为一个变量传递给另一个函数,然后在需要时调用执行。5. 循环中的异步操作:在循环中使用闭包可以解决在异步操作中的问题,保证每次循环都能正确访问到循环变量的值。闭包的作用就是可以读取函数内部的变量。

2024-05-09 15:57:41 275

原创 作用域(变量的可以使用范围)和作用域链

全局作用域在整个程序中一直存在,全局作用域中定义的变量可以被程序中任何部分访问。2 作用域链的用途是保证对执行环境有权访问的所有变量和函数的有序访问。函数作用域在函数定义时创建,在函数执行时创建,在函数执行完毕时销毁。作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。块级作用域在代码块中创建,在代码块执行完毕时销毁。1 作用域链是多个作用域组成的链表。作用域是程序源代码中定义变量的区域。

2024-05-09 15:56:37 471

原创 垃圾回收机制

对象A中有一个属性B,B中有一个属性A,A和B相互引用,但是A和B又没有任何其他属性,那么A和B的引用计数器都为1,引用计数器是用来判断对象是否存活的,但是引用计数器有一个问题,就是循环引用。给对象添加一个引用计数器,每当有一个地方引用它,计数器值就加1。标记清除的缺点就是效率问题,标记清除的效率问题主要体现在两个方面。垃圾回收器会遍历堆中的所有对象,然后清除掉标记为死亡的对象。垃圾回收器会遍历堆中的所有对象,然后标记出存活的对象。垃圾回收器会遍历堆中的所有对象,然后标记出存活的对象。

2024-05-09 15:56:03 519

原创 ajax async javascript and xml

xhr.open(请求方式,请求地址,是否异步,用户名,密码);axios fetch 基于ajax和promise进行封装的。// 监听readyState属性==4。// 1.创建XMLHttpRequest对象。ajax是异步的js和xml 是实现页面局部刷新的技术。1.浏览器对ajax的支持程度不同。2.浏览器对ajax的缓存处理不同。3.浏览器对ajax的异常处理不同。// 2.设置请求方式和请求地址。xhr.send(请求参数);3.可以实现页面的无刷新更新。4.监听ajax的返回数据。

2024-05-09 15:54:43 511

原创 js单线程

宏任务里有微任务和宏任务 微任务执行完毕后 再去执行宏任务。宏任务(script大的宏任务)执行完毕后 再执行微任务。2.遇到异步代码 先执行异步代码 然后将异步代码的回调函数放到任务队列中。promise(解决异步 只有在.then和.catch里才是异步)3.同步代码执行完毕后 去任务队列中取出回调函数执行。宏任务和微任务是交替执行的。js是一门异步单线程的语言 浏览器是一个多线程的环境自上而下执行。宏任务和微任务的关系。js把异步任务分为宏任务和微任务。单线程:同步任务和异步任务只能执行一个。

2024-05-09 15:53:47 305

原创 js的理解

4. Object.prototype.toString.call() 能够判断所有数据类型。3. constructor 能够判断除null,undefined之外的所有数据类型。1. typeof 能够判断除null之外的所有基本数据类型,还可以判断函数。2. instanceof 能够判断复杂数据类型,但是不能判断基本数据类型。2. 便于内存管理 合理利用内存空间。浏览器是个多线程的环境。3. 便于提高代码运行效率。基本数据类型和复杂数据类型的区别?为什么要区分数据类型?

2024-05-08 10:32:36 187 3

原创 this指向

谁最终调用this,this就指向谁。函数.apply(this指向,[参数1,参数2]) //this指向window。函数.bind(this指向)(参数1,参数2) //this指向window。函数.call(this指向,参数1,参数2) //this指向window。1.2 函数中this指向, 谁最终调用this,this就指向谁。call,apply,bind可以改变this的指向。1.3 构造函数中this指向实例化的对象。1.1 全局中的this指向window。

2024-05-08 10:31:56 144 2

原创 数组的操作方法

every -- 数组中的每一个都符合条件返回true 否则返回false。some -- 数组中只要有符合条件的就返回true 否则返回false。findIndex -- 查找数组中第一个符合元素的下标;findLatsIndex -- 查找数组中最后一个符合元素的下标。filter -- 过滤 返回符合条件的元素组成的新的数组。map -- 对数组中每一项元素进行操作返回新的数组。findLast -- 查找数组中最后一个符合的元素。forEach --循环--私有方法。split -- 转数组。

2024-05-08 10:31:11 134 2

原创 数组:由元素组成的有序的集合

数组长度和下标有什么关系:下标和长度没有关系,长度减一等于最后一个下标。4.forEach 循环 --- 私有的。声明:字面量的声明 let 变量名称=[]2.for in 循环。3.for of 循环。数组的取值:使用下标(索引)数组的长度属性:元素的个数。数组:由元素组成的有序的集合。

2024-05-08 10:30:40 155 1

原创 函数的理解

Maximum call stack size exceeded:函数调用栈溢出。递归函数: 自调用函数、递归函数(在函数内部自己调用自己) 必须有终止条件。3.函数声明可以作为表达式的一部分。3.函数声明不可以作为构造函数。结束函数的代码块的代码执行。结束函数的代码块的执行。2.函数声明可以重复声明。2.函数声明不能重复声明。函数:封装一块可重复执行的代码块。工厂函数 ()=> {

2024-05-08 10:29:48 216 2

原创 对象 描述事物的一组特征;是无序的集合

2.中括号语法 对象[key]1.点语法 对象.key。1.对象是由属性和方法组成的。对象 描述事物的一组特征;2.属性:事物的特征。3.方法:事物的行为。

2024-05-08 10:28:55 237 2

原创 组件通信的方法

获取父组件传过来的属性(prop接收的属性就不再接收了)this.$emit给父组件传递数据。#### 五、$children。#### 四、$parent。prop接收父组件传的数据。#### 六、$attrs。#### 三、兄弟组件。#### 一、父传子。#### 二、子传父。

2024-05-08 10:27:15 101 1

原创 监听属性的方法

监听属性 监听哪些数据:data、技术暗属性、vuex、路由.. 不能监听本地存储。//newValue:新值,oldValue:旧值。immediate: true //立即监听。属性名(newValue, oldValue){deep: true, //深度监听。//当属性值发生变化时,调用此函数。

2024-05-08 10:25:15 198 5

原创 计算属性的方法

1、函数形式 computed:{2、对象形式 computed:{

2024-05-08 10:23:05 148 1

原创 过滤器的使用

{{数据|过滤器 (可以有多个数据)}}{{数据|过滤器 (可以有多个数据)}}

2024-05-08 10:22:28 221 2

原创 js、vue时间戳

1、获取当前时间戳 new Date().getTime();3、将日期对象转换为日期字符串。4、将日期字符串转换为日期对象。2、将时间戳转换为日期对象。

2024-05-08 10:19:49 335 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除