自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图片的懒加载

使用以下方法实现图片的懒加载。

2023-04-15 11:53:13 113

原创 关于JSON

JSON的几种标识形式。

2023-04-15 11:51:38 116

原创 Javascript中的深拷贝

【代码】Javascript中的深拷贝。

2023-04-15 11:48:19 117

原创 js中的垃圾回收机制

新生代区域又分出两个空间一个是FROM空间(使用空间)一个是TO空间(闲置空间),当FROM空间中的对象要满的时候,我们就开始标记将存活对象标记好后,将他们复制到闲置空间中最后再把FROM空间清空,然后再交换他们的名称。首先我们将所有的对象标记为0,将存活的对象标记为1将标记为0的对象清除掉,然后将标记为1的对象重新标记为0,方便下一次垃圾回收,但是有一个问题就是:不连续,找位置是个问题。老生代区域垃圾回收机制,之前提到的标记清除算法,不同的是使用了标记压缩算法将他们的位置整理好。

2023-04-12 10:53:29 152

原创 vue路由的hash模式和history模式有什么区别

history有历史记录,H5新增了pushState和replaceState()去修改历史记录,并不会立刻发送请求。在做回车刷新的时候,hash模式会加载对用页面,history会报错404。hash模式支持低版本浏览器,history不支持,因为是H5新增的API。hash的路由的路由地址上有#号,history模式没有。hash不会重新加载页面,单页面应用必备。history需要后台配置。

2023-04-05 15:23:35 105

原创 路由拦截是怎么实现的?

Vue2为了防止重定向时的报错,我们可以在当前路由上添加以下代码(Vue3没有这个报错)需要在路由配置总添加一个字段,它使用与判断路由是否需要拦截。路由拦截 axios 拦截。

2023-04-05 15:22:41 164

原创 Vue3路由中的参数传递

Vue3中也是两种方式传递一个是query,一个是params。下面是传参demo中的几个主要代码。

2023-04-05 00:23:06 565

原创 Vue2路由中的参数传递

Vue2中的路由配置以及demo。

2023-04-05 00:14:25 492

原创 Vue中组件通信:兄弟间传递事件总线

new一个新的vue实例,用on和emit来对事件进行传输。Vue3官方有推荐一些库,例如 mitt。封装eventBus.js。在需要使用的组件中导入。

2023-04-04 14:23:56 360

原创 Vue中组件通信:子传父emit

vue3中无法直接使用$emits,需要使用const emit = defineEmits(['(对应方法名)'])的方式来向父组件传递信息,一般在onMounted(() => {})中去执行传递方法的事件,如:emit("getMsg", "我来自子组件"),然后父组件在子组件上使用@getMsg="showMsg"的方式来获取传入的信息,注意:getMsg是对应的子组件的方法名,此方法名称自定义,showMsg为父组件的方法名称也可以自定义。

2023-04-04 14:14:41 223

原创 Vue中组件通信:父传子ref

在父组件中可以使用ref="(el) => child = el"的方式来准确获取到子组件的实例,然后使用child.value.(对应方法名或变量名)的方式获取相应信息。vue3中需要引入defineExpose从子组件向父组件暴露需要获取到的对应的变量或方法。引用信息会注册在父组件的$refs对象上。

2023-04-04 13:44:10 370

原创 Vue中组件通信:父传子props

父组件使用自定义属性,然后子组件使用props。

2023-04-04 13:33:20 52

原创 大文件上传:Client端使用的utils.js

之前上传的Client代码中没有带有引入的utils.js的代码,在此进行补充。

2023-04-01 21:30:49 60

原创 大文件上传:Server服务端

使用nodejs编写应用到技术有express、spark-md5等。

2023-04-01 01:24:16 82

原创 大文件上传:Client客户端

这里不做过多赘述,代码都有相应的注释,作为简单的demo,这里直接贴上代码,这里使用的是vue3。

2023-04-01 01:14:28 117

原创 axios简单的封装

创建实例 封装请求响应拦截器 暴露出去。axios是如何做封装的。首先需要下载axios。

2023-03-29 16:44:17 65

原创 Promise

这个方法需要两个参数,第一个参数作为处理已兑换状态的回调函数,而第二个参数则作为处理已拒绝状态的回调函数。待定(pending):初始状态,既没有兑现,也没有被拒绝。对象用于表示一个异步操作的最终完成(或失败)及其结果值。成功(fulfilled):意味着操作成功完成。已拒绝(rejected):意味着操作失败。Promise链式调用,常用的3个方法。

2023-03-29 13:38:40 52

原创 bind、apply和call之间的区别

call的参数是直接放进去的,第二个第三个第n个参数全都用逗号分隔,直接放到后面obj.myFun.call(db,'成都', ... , 'string')。apply的所有参数必须放在一个数组里面传进去 obj.myFun.apply(db,['成都', ..., 'string'])。当然,三者的参数不限定时string类型,允许时各种类型,包括函数、object。bind 除了返回的是函数外,其他的参数和call一样。

2023-03-29 13:20:15 40

原创 with语句

此时当我使用with把这个命名空间的指向person的时候。虽然改变了this的值但也不是单纯改变this的指向。在ECMAscript标准而言是不推荐的。TC39委员会建议我们要慎用这个东西。这时他的命名空间的指向时非常混乱的。因为我们改变this的指向可以使用。但是在某种情况下我们利用with。比如我现在有一个person对象。那么我们就可以不加person点。这个在应用层严格来说是用不到的。因为他会改变块级作用域下的。这是它为什么不被推荐的原因。当我们使用with语句时。或者说是命名空间的指向。

2023-03-29 13:14:11 49

原创 filter、map和foreach的区别

那么对于map而言它和foreach不同的是拥有一个返回值。对于foreach而言它主要的作用就是循环一个数组。filter得到的新数组是从原有的数组中筛选出来的。filter和map都包含了一个返回值的概念。但是map的逻辑和filter不太一样。filter翻译过来是一个筛选的意思。通过它的返回值来去筛选出我想要的数据。当它return false的时候呢。对于map而言的话呢它其实也是个循环。因为它会return一个布尔型的值。当return值为true的时候呢。我就可以再filter的时候。

2023-03-29 13:11:36 205

原创 03_手写Map

记录当前手写的Map(带注释版本)

2023-03-29 13:06:50 50

原创 02_性能对比

在频繁的[增删]的场景下,Map性能高于Object。

2023-03-29 13:00:03 45

原创 01_Map的应用

Map 是一个构造函数,不是数组arr.map。下面是map常用的一些方法。

2023-03-29 12:50:54 47

空空如也

空空如也

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

TA关注的人

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