自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js实现拖拽移动元素:mousedown\mousemove\mouseup

【代码】js实现拖拽移动元素:mousedown\mousemove\mouseup。

2022-08-31 16:31:41 626 1

原创 获取鼠标移动坐标之防抖与节流

【代码】获取鼠标移动坐标之防抖与节流。

2022-08-31 09:32:59 558

原创 uniapp使用原生隐私政策配置

在HbuilderX开发时会有manifest,json文件,点击manifest.json,勾选使用原生隐私政策提示框。接着会生成androidPriwacy.json文件,配置可参考下图。

2022-08-16 16:16:25 623 2

原创 vue中传值方式

vue中传值方式一般有父传子、子传父、还有非父子之间的传递。

2022-07-15 10:10:08 121

原创 什么是重绘与回流?

简单来说就是重新绘画,当给一个元素更换颜色、更换背景,虽然不会影响页面布局,但是颜色或背景变了,就会重新渲染页面,这就是重绘。当增加或删除dom节点,或者给元素修改宽高时,会改变页面布局,那么就会重新构造dom树然后再次进行渲染,这就是回流。1.多个属性尽量使用简写,例如:boder可以代替boder-width、boder-color、boder-style2.创建多个dom节点时,使用documentfragment创建3.避免使用table布局4.避免设置多层内联样式,避免节点层级过多5.避免

2022-07-09 14:05:53 12638

原创 什么是diff算法?

真实dom是一个对象,浏览器上渲染的各种节点就是dom,属性非常多,每一次对dom进行修改时,dom都会再次从头渲染一遍,如果频繁的操作dom,非常损耗性能,甚至可能出现页面卡顿的情况。 于是有了虚拟dom,虚拟dom是js里object类型的对象,也是真实dom的副本,它在内部生成,不像真实dom有那么多的属性,并且无法在浏览器中显示。 一开始会先创建dom树然后渲染到html页面中,当操作真实dom的时候,它会重新构造一个新的dom结构然后在上面操作,然后用新构造的dom结构

2022-07-09 10:37:15 183

原创 Uncaught Error: “reducer“ is a required argument, and must be a function or an object of functions

在执行上面这段代码时报错reducer必须为函数或者对象,但是log出来我的reducer就是个函数。 加个大括号解决,大意了,下不为例。

2022-07-08 11:34:42 1259

原创 Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead.

在启动react项目时报出错误: React 18 不再支持ReactDOM,需要使用createRoot代替,在替换之前程序还会以React 17 来运行,不受影响。 虽然不受影响但是看到报错真难受,去index入口文件把ReactDOM替换掉即可。...

2022-07-07 08:51:26 720

原创 vue2数据双向绑定的原理

vue2的数据双向绑定原理使用的是es5的数据劫持object.defineProperty,如果读取数据就会触发get,修改数据就会触发set,达到数据和视图的响应和更新,但是因为js固有的特性,不能动态添加和删除属性,需要调用$set、$delete这些方法来实现动态添加双向绑定属性。 vue3的数据双向绑定使用的是es6的Proxy配合Reflect实现的,他比起数据劫持可以监听到对象添加属性和删除属性...

2022-07-06 17:35:40 816

原创 什么是路由守卫?有什么用?

路由守卫是路由在跳转前、后过程中的一些钩子函数,这些函数可以让你操作一些其他的事,在后台管理中设置权限时经常看到,在实现路由跳转前校验是否有权限,有权限就可以通过,反之就会被执行其他操作,如返回首页。#路由守卫参数:to:目标路由对象from:即将要离开的路由对象next():放行1.全局守卫:所有的路由切换都会执行,一般写在路由配置文件中router.beforeEach(fn) :to\from\next()router.afterEach(fn):to\fromrouter.beforeResolve

2022-07-06 17:20:04 6281

原创 vuex中mutations和actions的区别是什么?

vuex中的state数据不允许直接赋值修改,所以vuex创建了mutations用于定义方法来修改state中的数据,但是只能同步修改。如果异步修改会造成调试工具跟实际数据不对应,所以vuex又提供了actions,用于异步触发mutations中的方法。 总结:mutations中的方法可以直接修改state数据,actions是异步执行mutations中的方法,所以它俩都可以改数据,区别是一个是同步一个是异步。...

2022-07-06 16:45:55 1540

原创 VUE的性能优化有哪些方法?

1.路由懒加载2.图片懒加载3.第三方组件库按需引入4.keep-alive缓存页面5.使用v-show复用DOM6.避免v-if与v-for同时使用

2022-07-05 08:48:01 829

原创 git的使用

下载与安装 下载地址:Git for Windows配置个人信息(名字与邮箱) 使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名 git的使用(命令行)创建本地仓库 :把当前目录变成一个git仓库,并自动创建分支 工作区与版本库概念创建(修改)文件添加到暂存区:提交到版本库:查看仓库变更状态:正在上传…重新上传取消创建SSH Key: 以上命令会在windows当前用户的目录里创建目录,里面有(私钥)和(公钥)两个文件添加公钥

2022-07-01 09:53:17 229

原创 字符串有哪些方法?

1.length()返回字符串的长度2.indexOf()返回字符串指定文本首次出现的下标3.lastIndexOf()返回字符串指定文本在字符串中最后一次出现的下标.4.seach()搜索特定值的字符串,并返回匹配的位置5.slice(开始位置,结束位置)用于提取字符串的某个部分并在新字符串中返回被提取的部分6.substring(开始位置,结束位置)与slice差不多不同之处在于不接受负的索引7.substr(开始位置,结束位置)与slice差不多,不同之处在于第二个参数规定被提取部分

2022-06-22 00:09:38 192

原创 VUE生命周期和钩子函数

生命周期首先先new Vue,这个时候还不算生命周期的开始;然后初始化事件,这个时候才算是生命周期的开始;再接着将数据挂载到实例中(所谓的挂载就是把数据放进去然后进行监听);然后检查是否有el参数,如果有就继续,如果没有就等待实例.$mount(el)参数过来,接着检查是否有template,如果有就将template进行编译,如果没有就编译el.outerHTML为要显示的内容;检查完template编译以后,接下来就给实例挂载$el参数,$el的值就是要显示的内容,将$el替换掉整个el,然后就可以访问

2022-06-16 14:53:50 135

原创 数组有哪些方法?

1.push(尾部添加)2.unshift(头部添加)3.pop(尾部删除)4.shift(头部删除)5.sort(对数组排序)6.join(分隔)7.reverse(反转)8.splice(增删改)9.map(遍历数组返回新数组)10.forEach(遍历每个元素,没有返回值)11.every(对数组每一项进行判断,所有都为true时返回true,有一个false时则直接返回false并停止遍历)12.some(对每一项判断,有一个满足条件则返回

2022-06-16 10:36:58 124

原创 什么是预解析?

预解析也叫做变量提升,在浏览器执行代码之前,会先将代码扫描一遍,然后把声明式的函数和变量都提到所在作用域的最前端,这就是预解析

2022-06-16 09:23:24 409

原创 作用域和作用域链

作用域就是指在程序中定义变量的区域,这个区域里的变量不会泄露在外面影响外部环境,也可以理解为变量与函数可以访问的范围,一般有全局作用域和局部作用域,全局作用域是最大的作用域。作用域链是在一个函数里声明了另一个函数,就会形成嵌套,当嵌套时内部函数只能在外层函数作用域里执行,在内部函数执行的过程中如果要引入某个变量,会先在当前作用域里寻找,如果没找到就会到上一层级的作用域里找,直到找到全局作用域,这种链式的查询关系就叫作用域链。......

2022-06-14 16:12:22 89

原创 基本数据类型和引用数据类型的区别

一、.存储上的区别1.基本数据类型是存放在栈中的简单数据段。2.引用数据类型是存放在堆内存中的对象,在栈内存中存放的是堆内存中具体内容的引用地址,通过这个地址可以快速查找到对象。二、比较上的区别1.基本数据类型的比较是值的比较var a = '{}'var b = '{}'console.log(a == b) //true直接比较值,看起来一样那么他就是一样的。2.引用类型的比较是引用的比较var a = {}var b = {}console.log(a == b) //false问:看起来明明一样为什

2022-06-14 15:28:31 18135 1

空空如也

空空如也

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

TA关注的人

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