自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ES6箭头函数

箭头函数是定义函数一种新的方式,他比传统函数 function 定义更加方便和简单,他没有绑定自己的 this 指向和伪数组 arguments,无法调用 super 方法生成实例化对象,因为他不是构造函数,一般用来取代匿名函数的写法,最主要的是箭头函数的 this 指向他的上一级作用域中的 this 也可以理解为他的 this 是固定的,而普通函数的 this 是可变的

2023-07-18 21:42:54 84 1

原创 ES6 中 Proxy 的?使用场景?

用于定义基本操作的自定义行为修改的是程序默认形为,就形同于在编程语言层面上做修改,属于元编程元编程(Metaprogramming,又译超编程,是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译时完成的工作一段代码来理解/bin/bashecho '#!for ((I=1;I

2023-07-18 21:37:40 86 1

原创 简述闭包是什么?有什么作用

2.闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属(privatevalue)这时一定要小心,不要随便改变父函数内部变量的值。当内部函数,在定义他的作用域外被引用时就创建了该内部函数的闭包,如果内部函数引用了外部函数的变量,当外部函数调用完毕后,这些变量在内存中不会被释放,因为闭包需要他们。1.由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则。

2023-07-13 22:20:20 100 1

原创 深入理解Vite核心原理

目前所有的打包工具实现热更新的思路都大同小异:主要是通过WebSocket创建浏览器和服务器的通信监听文件的改变,当文件被修改时,服务端发送消息通知客户端修改相应的代码,客户端对应不同的文件进行不同的操作的更新。快速冷启动:Vite利用ES模块的特性,在开发环境下采用原生ES模块的方式进行模块解析和引入,无需打包成单个文件,因此具有非常快速的冷启动速度,几乎可以立即启动开发服务器。热模块替换:Vite支持热模块替换(HMR),在开发过程中无需完全刷新页面,可以实时更新修改的模块,提供了更快的开发迭代速度。

2023-07-13 22:10:50 131 1

原创 v2响应式的缺陷及对应proxy的优点

Proxy相比Vue 2的响应式系统具有更多的优点和灵活性,能够更好地处理复杂的数据变化情况,并提供更好的性能和开发体验。这也是Vue 3采用Proxy作为默认响应式实现的主要原因之一。

2023-07-11 14:50:16 86

原创 JavaScript递归的实现原理

递归终止条件(Termination Condition):为了避免无限递归和函数栈溢出的问题,递归函数必须定义一个或多个递归终止条件。递归调用(Recursive Call):在递归函数内部,会通过调用自身来解决规模较大或更复杂的问题。递归调用会将问题分解为更小的子问题,并通过重复调用自身来解决这些子问题。基本情况(Base Case):递归函数需要定义一个或多个基本情况,即问题规模最小或最简单的情况。通过递归,可以解决许多复杂的问题,但在使用递归时要注意合理设计递归终止条件和避免无限递归的情况发生。

2023-07-11 13:30:00 425

原创 递归的实现原理

基本情况是递归函数的结束条件,当满足基本情况时,递归函数将不再调用自身,从而避免无限循环。递归可以解决一些问题,尤其是那些自然地可以被拆分为较小子问题的情况。然而,递归也可能导致性能问题和堆栈溢出,因此在实际使用中需要注意递归的使用条件和边界情况,以及对于大规模问题的性能影响。否则,递归调用函数并将问题规模减少 1,然后将前两个子问题的解相加。否则,递归调用函数并将问题规模减少 1,然后将子问题的解与当前问题的规模相乘。否则,递归调用函数并将问题规模减少 1,然后将子问题的解与当前元素相加。

2023-07-11 09:01:55 239

原创 uni-app微信小程序支付流程

上述代码中,需要使用你的 appid、mch_id、partner_key等参数,这些参数是你自己在注册微信支付时所获得的。我们将 payment 对象传递给 getBrandWCPayRequestParams() 方法,并带上 config 对象,该方法会返回一个 加密后的订单信息(即orderInfo)。最后,我们将加密后的订单信息返回给前端,前端页面拿到该信息后即可使用微信支付API,向微信服务器发送请求,完成支付流程。timeStamp: 时间戳,自1970年以来的秒数。paySign: 签名。

2023-07-11 08:48:57 372

原创 在Typescript中interface和type的区别(面试常问

适合用于创建复杂的类型别名,进行类型组合和处理。会进行属性的兼容性检查,当一个类型声明实现了某个接口时,会检查该类型是否具有接口中定义的所有属性和方法;可以通过扩展其他接口来定义新的接口类型,也可以通过声明合并来扩展已有的接口;更加灵活,可以用于定义各种类型别名,适合用于组合和处理多个类型。可以使用交叉类型和联合类型来组合多个类型,创建更复杂的类型。通常用于定义具体的类型别名,可以基于其他类型创建新的类型。适合用于描述对象的结构和行为,以及接口的继承和合并;扩展其他接口,从而继承其他接口的属性和方法;

2023-07-10 18:03:57 351 1

原创 封装防抖和节流函数

防抖函数的作用是,在事件触发后等待一定时间(delay),如果在这段时间内没有再次触发事件,才执行回调函数。如果在这段时间内又触发了事件,则重新计时。节流函数的作用是,在一定时间间隔(delay)内只执行一次回调函数。如果在这段时间内多次触发事件,只有第一次触发会执行回调函数,后续触发会被忽略。一般使用在输入框搜索,按钮点击,防止重复提交,实时搜索。一般使用在页面滚动,窗口调整,鼠标移动,频繁操作限制。

2023-07-10 17:58:05 72 1

原创 在vue中v-if和v-show的区别

它们的作用都是根据条件控制元素的显示与隐藏,但在实现方式和使用场景上有一些区别。适用于频繁切换条件的情况。选择使用哪个指令取决于具体的使用场景和性能需求。适用于条件变化较少的情况,而。首先是实现方式的不同。

2023-07-10 17:28:28 84 1

原创 在vue中v-model和.sync的区别

事件,并将用户输入的值同步到组件的数据属性中,同时将组件数据属性的值反映到表单元素上。它可以简化双向数据绑定的代码,提供了一种简洁的方式来处理表单输入。方法触发一个更新父组件数据的事件,并在父组件中监听该事件进行响应。这样可以实现子组件修改父组件数据的效果,形成双向数据流。是 Vue.js 提供的一种自定义组件的语法糖,用于简化父子组件之间的双向数据流。需要注意的是在vue3中.sync已经被废弃,更推荐v-model来实现组件的双向绑定。修饰符绑定父组件的数据属性,子组件可以通过。

2023-07-10 17:22:28 167 1

原创 使用原型链补充数组的高阶排序方法

方法,根据指定的属性进行降序排序。方法,根据自定义比较函数进行排序。根据指定的属性进行升序排序。添加自定义方法来实现。sortBy 方法,

2023-07-10 17:01:46 45 1

原创 使用reduce统计字符出现频率

果当前字符已经在累加器对象中存在,则将其频率加1;否则,将其添加到累加器对象中,并设置频率为1。的回调函数中,我们遍历字符串的每个字符,并使用一个累加器对象。这个函数接受一个字符串,并返回一个包含字符频率的对象。

2023-07-09 22:39:05 80 1

原创 用函数判断变量的数据类型

可以使用typeof运算符来判断变量的数据类型。以下是一个示例函数,它接受一个参数并返回该参数的数据类型。调用这个函数并传入不同的变量来获取它们的数据类型。

2023-07-09 22:27:46 131 1

空空如也

空空如也

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

TA关注的人

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