自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vuex的替代方案pinia的使用

computed,methods访问Store,需要调用mapState方法,第一个参数是我们需要使用的store,第二个参数是一个对象,将方法放到其中,每个方法都会去接受传递的store作为参数(只能读取,不能写入), 调用mapState它会将第二个参数对象上面写的方法返回给我们,我们需要通过...解构将返回的方法,放到computed上面。在组件中使用这个store,首先引入这个js文件,引入它向外暴露的useStore方法,当然这里也可以将存储store的js文件改成默认暴露。

2023-04-28 23:34:19 957

原创 网络请求的取消

有这么一个场景,有一个搜索框,每当你输入内容改变的时候,就会去调用一个接口,返回当前输入内容的关联字,但是吧第二次响应的速度可能会比第一次快,页面的内容先变成第二次的内容,再变成第一次的内容,这就造成了一个关联字不对的问题,如图。

2023-04-24 14:14:20 1299

原创 关于this

函数的this执行并不指向于函数本身,在全局作用域里面函数的this并不指向于它本身,而是window(下一篇详解),假设你想去通过给这个函数上面定义一个变量来记录这个函数执行了几次,每次调用执行this.变量名++,这是不行的并且window对象上面出来了这个变量名,涉及到this的默认绑定(下一篇详解)此时打印出来的为元素本事,使用console.dir打印出来好观察它的属性,不了解的可看我前面的。所以匿名函数(没有名称的函数叫匿名函数)在不使用上面那个危险的方法嵌套下没有办法调用本身。

2023-04-22 20:27:59 153

原创 块作用域的替代方案

语法如上,在try里面去写一些代码,在发生错误时通过throw来抛出错误,比如你在try里面发送了一个请求,在请求失败或是异常的时候抛出了一个错误,让catch来处理,它会接收你抛出错误的内容,比如说你抛出一个2,它就会接收一个2。最推崇的自然是es6中的let,既不用书写try catch那样丑陋的代码,也适用于一切,当你想要将使用let的代码转化为es3这样的环境,很多打包工具都有这样的功能,babel就是其中之一。函数表达式不适用于所有场景,需谨慎使用。一.try catch。

2023-04-16 12:14:18 97

原创 动态作用域

咱们可以使用this来模拟动态作用域,已知this是谁调用this指向谁,动态作用域则是会在你调用函数的地方去向上寻找变量,而不是像词法作用域一样早就声明好了,this和动态作用域两者的共同特点是都取决于调用位置。虽然说JavaScript只有词法作用域,如果你的代码没有使用with和eval的话,动态作用域会将你的代码在解析的时候确定下来,并没有动态作用域这一说,但是它却有一个和像动态作用域的东西,那就是this。

2023-04-16 10:55:47 78

原创 作用域闭包

定义:当一个函数可以访问到其它函数局部声明变量的函数,就是闭包。举个例子有一个函数,它的属性一般情况我们访问不到,这涉及到函数作用域。而闭包就是在这个函数内部再次声明一个函数,这个函数基于作用域的查询访问的到它上面函数的私有变量,我们将这个访问函数返回回去,那么我们就可以通过这个返回函数访问到变量,这就是闭包。

2023-04-16 01:35:29 47

原创 谷歌浏览器调试面板(sources)

这个区域代表了当前页面加载的所有本地资源,点击以后会获取到他的文件内容,并在右侧展开,我们同时可以给这个文件打上断电和修改代码,进行测试。这个区域用于展示文件的内容,可以修改代码,保存调试更改后的代码,还可以在每一行的头部点击序号打上一个断点。

2023-03-28 22:51:18 1317

原创 谷歌浏览器调试面板(console)

第一个左箭头图标点击隐藏这个菜单栏,第二个禁止符号用于清除当前控制台的信息,top用于选择当前控制台所在的上下文(页面存在iframe用到) ,任何信息统计所有控制台信息,用户信息统计用户输出的控制台信息,error统计通过console.error打印出来的信息,警告统计当前通过console.warn打印的信息,信息统计通过console.info打印的信息,详细信息统计通过console.debug打印的信息。过滤用于对当前控制台的搜索。中间部分,展示控制台的信息搜索,以及表达式。

2023-03-28 20:03:22 984

原创 JavaScript的声明提升

原因是var 声明的变量会提前到当前作用域的顶部去声明,并给变量默认赋值为undefined。函数也有变量提示,不过仅限于直接通过function声明的具名函数,函数表达式则不会被提升,那怕他是一个具名函数。然后解析到了bar,又通过RHS查询,发现这个变量被function声明过了,直接跳过var声名。关键字function和var声明的变量都会存在变量提升,提前到当前作用域的顶部去进行声明。函数声明和变量声明同时存在的时候会先去声明函数,然后再声明变量。实际的执行顺序是这样的。然后调用了bar()

2023-03-26 20:56:23 40

原创 函数作用域和块作用域

声明的i在for循环内部()声明但是它却污染可全局变量,if语句也是一样name在{}中声明了,但是在if外部我仍然可以访问到它,这是不合理的,在es6的let之间if{}声明的变量和for循环()内声明的变量都回直接无视掉这个作用域将变量声明到了全局作用域上面去,let出来后我for循环声明的变量只能在循环的内部访问到,if语句也是一样,便于浏览器通过垃圾回收机制,去回收变量,提高性能。当你需要引入多个第三方工具库如果,这个工具库没有遵循这个原则,那么会发现我们的全局作用域上面是非常的乱。

2023-03-26 19:11:43 44

原创 scrollntoViewApi详解

元素.scrollIntoView(),滚定到元素的位置第一个可选参数为alignToTop,

2023-03-26 10:57:36 157

原创 你不知道的console方法全解

console.log()相信我们并不默认,也是我们最长应用的一个,但是在console这个对象上面不止有这一个方法,如果学会其他方法会对我们的调试水平得到很大的提高下面我来介绍一下。console.assert()传入的参数返回值如果是false,那么浏览器则会提示反之为true,则什么都没有。console.clear()很显然这是一个用于清除控制台的函数,他会帮我们清除控制台的信息。console.count()执行后会打印两个数据,第一个数据是传入的变量,第二个参数是打印调用的次数。

2023-03-26 09:54:38 219

原创 vue实现导入导出

导入导出常见于管理系统之类的项目,这周也是用到了,分享一下。

2023-03-19 20:19:27 507

原创 win7能够适配的最高版本vscode以及vscode插件位置

上周也是终于告别了ext,重新使用起了vue,新的问题也出来了,由于是内网开发,给军区做项目,这就导致我那台电脑是win7系统,并且vscode没有插件,根本不认识vue,第一二天我都是写代码的时候根本没有任何的提示的,第三天终于受不了了,开始解决。开始怀疑是编辑器版本过低,不支持。打开vscode官网下载vscode发现,现在下载的vscode最低也要win8的系统,经过查询,支持的最高版本应该是1.71版本,稳妥起见下载的是1.69版本,(毕竟光盘是真的慢,不想再浪费时间)。

2023-03-19 19:27:18 1990

原创 词法作用域的理解

eval和with在2023年你应该避免使用这两个祸害,共同缺点都是性能不好,给setTimeout和 setInterval传递第一个参数,可以起到和eval一样的效果,new Function也是,其传递的最后一个参数也是和eval一样的。在严格模式下,with被完全砍掉其作用,eval没那么严重,但也"残血"了,足以可以看出其危害。本篇对标于你不知道的JavaScript上卷第一部分第二章,是作者整理的笔记,例子基本都是采用书中的。

2023-03-01 23:00:30 43

原创 js作用域详解

带你认识JavaScript作用域

2023-02-27 22:42:33 91

原创 都2023年,还在这样写下拉刷新你就out了。

IntersectionObserver的介绍

2023-02-19 12:16:03 196

原创 使用腾讯地图api批量处理本身位置到其它地址的距离

1.注册,浏览器搜索腾讯位置服务点进去,右上角有登录没有账号的注册一下。2.点击右上角的控制台,再点击应用管理,创建一个应用,名字随便起。在创建好的应用右边有一个添加key,勾选上webServiceApi创建好了以后会有一个key属性,复制好,腾讯地图每个api都需要这个key。3.官方的api在开发文档当中,选择WebService API,右侧边栏选择批量距离计算。4.可以看到是get请求,必传参数有四个,

2022-10-14 09:44:03 1628

原创 微信小程序路由跳转的方式总结

2. wx.redirectTo 关闭当前页面,跳转到应用内的某个页面,不会将当前页缓存在内存中,重定向到其它页面,当前页面移出页面栈,重定向的页面入栈。3.wx.switchTab 跳转到 tabBar 页面,同时关闭其他非 tabBar 页面,会删除内存中缓存的页面,4.wx.navigateBack 返回上一页面,传入参数-1返回上一页,-2返回上上页,返几个就移出几个页面栈。5.wx.reLanch 关闭所有页面,打开到应用内的某个页面,重新加载,全部出栈,只留跳转后的页面。

2022-10-13 14:32:34 2013

原创 axios在项目中的封装

目录一次封装二次封装1.axios大家都应该很了解了,在React和Vue中广泛应用进行请求数据,那么为什么还需要对其封装呢,如果后端解决跨域了的话,我们是可以通过请求时携带请求头来解决跨域。那么对于这些重复的请求头就可以通过封装axios进行减少重复的请求地址,请求头。可以看到 我想外暴露了service这个函数,service这个函数调用了axios.create这个方法,床底了baseUrl这个参数,这样没次请求都会携带上这个网址,service.interceptors.request.use

2022-10-13 12:11:23 352

原创 React18手动封装WithRouter

在react18以前,如果是一个路由组件的话,在其props属性有当前路由地址,路由跳转等方法,而到了18以后以为推崇函数式组件,直接把路由组件props删除了,而函数式组件还可以通过hooks获取并使用,那类式组件只能自己进行封装。既然类式组件无法使用它们,那我们就通过函数return进行返回类式组件,通过props属性手动去传递给他们,child是传递的类式组件,可能是别的组件的子组件,通过三点运算符,将其接受的props解构赋值。

2022-10-13 11:01:06 518

原创 VsCode中使用git

VsCode中git傻瓜操作

2022-10-13 10:19:40 6932 4

原创 git补充之git分支和让git忽略node_modules

git补充

2022-10-12 21:24:04 722

原创 版本控制工具git的基本使用

git基本使用

2022-10-12 20:31:31 124

原创 对于Vite HMR 热加载剩下的补充。

vite 热加载

2022-10-12 19:48:55 476

原创 React-router6实现全局路由守卫

React路由

2022-10-12 17:22:07 2053 1

原创 vite中的HMRapi之accept,dispose和invalidate

vite中的HMRap

2022-10-08 23:53:13 322 1

空空如也

空空如也

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

TA关注的人

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