<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Cat_LIKE_Mouse的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Cat_LIKE_Mouse]]></copyright><item><title><![CDATA[图片上传流程&前端上传文件&后端保存文件&并返回图片地址]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/126001269</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/126001269</guid><author>Cat_LIKE_Mouse</author><pubDate>Tue, 26 Jul 2022 20:48:28 +0800</pubDate><description><![CDATA[也是在最近一点时间写小demo遇到的一些问题比如在用户界面，用户选择本地的一张照片，前端把照片传到后端，后端怎么把照片保存到服务器，然后返回给图片线上地址。也是找了一些文章，然后分享下。技术前端react后端egg.js(node框架)base64转换转二进制保存图片。...]]></description><category></category></item><item><title><![CDATA[js 几种继承的方式]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125865505</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125865505</guid><author>Cat_LIKE_Mouse</author><pubDate>Tue, 19 Jul 2022 10:16:05 +0800</pubDate><description><![CDATA[继承]]></description><category></category></item><item><title><![CDATA[leetcode 22 （生成括号） js 实现]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125820582</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125820582</guid><author>Cat_LIKE_Mouse</author><pubDate>Sat, 16 Jul 2022 15:39:53 +0800</pubDate><description><![CDATA[算法]]></description><category></category></item><item><title><![CDATA[数组扁平化]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125637257</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125637257</guid><author>Cat_LIKE_Mouse</author><pubDate>Wed, 06 Jul 2022 12:29:05 +0800</pubDate><description><![CDATA[扁平化]]></description><category></category></item><item><title><![CDATA[查找一个复杂对象或数组里面是否包含某一个值]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125635613</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125635613</guid><author>Cat_LIKE_Mouse</author><pubDate>Wed, 06 Jul 2022 11:25:24 +0800</pubDate><description><![CDATA[递归]]></description><category></category></item><item><title><![CDATA[webpack基础配置]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125118720</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125118720</guid><author>Cat_LIKE_Mouse</author><pubDate>Wed, 08 Jun 2022 11:48:32 +0800</pubDate><description><![CDATA[webpack配置]]></description><category></category></item><item><title><![CDATA[lottie-web，lottie动画使用详解]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125111645</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/125111645</guid><author>Cat_LIKE_Mouse</author><pubDate>Fri, 03 Jun 2022 14:07:44 +0800</pubDate><description><![CDATA[lottie-web 



	container 用于渲染的容器
	renderer 渲染器
	loop 循环
	autoplay 自动播放
	path 路径


api 使用：


	
		
			
			名称参数描述stop无停止动画play无播放动画pause无暂停setSpeedNumber设置播放]]></description><category></category></item><item><title><![CDATA[jwt 认证机制]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/124916148</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/124916148</guid><author>Cat_LIKE_Mouse</author><pubDate>Mon, 23 May 2022 10:32:06 +0800</pubDate><description><![CDATA[jst 通常有三个部分组成，分别是header（头部）、payload（有效载荷）、signatrue（签名）

三者之间用逗号隔开：


Header.Payload.Signatrue

payload 才是真正的用户信息部分，他是加密后的字符串
	header、signatrue 是安全性相关部分
安装：


npm install jsonwebtoken express-jwt


jsonwebtoken 用于生成 jwt 字符串
	express-jwt 用于将jwt字符串解析还原成 jso.]]></description><category></category></item><item><title><![CDATA[MySql 安装使用（mac）]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/124900986</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/124900986</guid><author>Cat_LIKE_Mouse</author><pubDate>Sun, 22 May 2022 17:02:20 +0800</pubDate><description><![CDATA[首先安装两个软件：

数据储存：

MySQL :: Download MySQL Community Server

可视化工具：

MySQL :: Download MySQL Workbench





按照步骤安装即可



使用

1.输入设置的密码：





2.设置库的名字：



3.创建数据表：









4.默认值：





DataTypes数据类型：

int 整数
	varchar（len）字符串
	tinyint（1）布尔值
字符串的特殊标识：

...]]></description><category></category></item><item><title><![CDATA[css3 Transition动画执行时有可能会出现闪烁的bug]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/124280891</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/124280891</guid><author>Cat_LIKE_Mouse</author><pubDate>Tue, 19 Apr 2022 19:03:44 +0800</pubDate><description><![CDATA[再目标元素上面添加：

-webkit-backface-visibility: hidden
	-webkit-transform-style: preserve-3d;
]]></description><category></category></item><item><title><![CDATA[animaction，判断动画执行结束，js添加动画的@keyframes]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/124258420</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/124258420</guid><author>Cat_LIKE_Mouse</author><pubDate>Mon, 18 Apr 2022 20:23:45 +0800</pubDate><description><![CDATA[var anim = document.querySelector('div')
anim.addEventListener('animationend',function(e){
    //动画执行完毕 执行
    console.log(e)//当前动画的属性
    console.log(e.animationName) //当前动画的名字；
})

js添加动画的@keyframes


var style = document.styleSheets[0];
    style.inse..]]></description><category></category></item><item><title><![CDATA[通过定位实现评论弹幕效果]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/123804452</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/123804452</guid><author>Cat_LIKE_Mouse</author><pubDate>Mon, 28 Mar 2022 20:30:43 +0800</pubDate><description><![CDATA[实现效果：



两行弹幕不停滚动，当弹幕轮播完之后，将自动回到初始位置

原理：

弹幕的添加功能就是瀑布流的实现原理，判断两个ul 的长度，谁短，往谁上面填添加 li

轮播的原理就是给ul添加定位功能，改变他的left值





上代码：

html：


  &lt;div class="box"&gt;
    &lt;ul class="one" style="left: 100px;"&gt;&lt;/ul&gt;
    &lt;ul class="two"&gt;&lt;/ul&gt;
]]></description><category></category></item><item><title><![CDATA[#region 与 #endregion 用法（注释代码的折叠）]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121459860</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121459860</guid><author>Cat_LIKE_Mouse</author><pubDate>Sun, 21 Nov 2021 20:47:53 +0800</pubDate><description><![CDATA[我们在用 VS code 的时候，注释的代码是无法折叠的

有时就会特别影响我们观看代码

只需要在注释代码的开头加上#region 和代码的 结尾加上#endregion

即可实现折叠


        //#region 
           if(){

           }else{

            }
        //#endregion


...]]></description><category></category></item><item><title><![CDATA[http服务过程（请求过程）]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121322639</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121322639</guid><author>Cat_LIKE_Mouse</author><pubDate>Sun, 14 Nov 2021 20:55:39 +0800</pubDate><description><![CDATA[当我们 web 浏览器的地址栏输入一个网址的时候，具体发生了什么呢？


	对这个网址进行DNS域名解析，得到相应的 IP地址
	
	
	根据这个IP地址 找到对应的服务器，发起 TCP 的三次握手
	
	
	建立TCP 连接之后发起HTTP请求
	
	
	服务器响应HTTP请求，浏览器得到HTML代码
	
	
	浏览器解析HTML代码，并请求HTML代码中的资源（js、css、图片等）
	
	
	浏览器对页面进行渲染呈现给用户
	
	
	服务器关闭TCP连接
	
1.DNS怎么找到域名的


DNS域名解]]></description><category></category></item><item><title><![CDATA[同步、异步、Promise、async +await 及简单封装axios（原理）]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121318808</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121318808</guid><author>Cat_LIKE_Mouse</author><pubDate>Sun, 14 Nov 2021 17:13:32 +0800</pubDate><description><![CDATA[目录





同步和异步的不同点：

ajax 的异步函数执行顺序：

如果让第一个ajax 成功之后，再去发送第二个 ajax，再去发送第三个 ajax...

promise：

用 promise简单 封装 ajax

简单的案例 用 async 和 await



先说一说同步和异步的不同点：

同步：代码从上往下执行，遇到同步就会一直等，等到完成才会继续走。

异步：代码从上往下执行 ，遇到异步就先走了，异步的代码就后面执行。

那么有哪些异步呢：

定时器
	ajax
	事件处理（绑定...]]></description><category></category></item><item><title><![CDATA[class es6的构造函数的另一种写法（语法糖）]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121318206</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121318206</guid><author>Cat_LIKE_Mouse</author><pubDate>Sun, 14 Nov 2021 15:32:55 +0800</pubDate><description><![CDATA[构造函数的一般写法：


  // 构造函数
        function Person(){
            this.name="小明"
            this.age=18
            this.say=function(){
                console.log('person 的 say');
            }
        }
        let p1 = new Person()
        console.log(p1.]]></description><category></category></item><item><title><![CDATA[赋值、深拷贝、浅拷贝、堆和栈]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121281748</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121281748</guid><author>Cat_LIKE_Mouse</author><pubDate>Fri, 12 Nov 2021 12:16:28 +0800</pubDate><description><![CDATA[首先介绍一下JavaScript的数据类型有哪些：


普通数据类型：string、number、undefined、Null、Boolean、

引用数据类型：object(function、Array、Date)


介绍一下他们的储存方式：



浅拷贝和赋值的区别：

首先是赋值：（看代码）


    let person = {name:'彭于晏'} 

    let person1 = person
    person1.name = '胡歌'
    console.log(perso.]]></description><category></category></item><item><title><![CDATA[Vue的生命周期和钩子函数详解]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121138815</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/121138815</guid><author>Cat_LIKE_Mouse</author><pubDate>Thu, 04 Nov 2021 11:33:50 +0800</pubDate><description><![CDATA[beforeCreated：


组件实例创建前

特点：在此之前获取不到 data 数据 以及methods 中的方法


created：


组件实例创建后

特点：可以访问data 中的数据 和methods 方法 一般这里写数据接口调用


beforeMount


挂载前 el:'#app' 还没有挂载到vm 实例上

页面还是上一次展示的页面，此时数据渲染出来的模板已经在浏览器的内存中 ，但是还没有替换到页面上


mounted


挂在后

此时浏览器内存中的dom结构 已经挂...]]></description><category></category></item><item><title><![CDATA[数组去重的几种办法]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/120756415</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/120756415</guid><author>Cat_LIKE_Mouse</author><pubDate>Thu, 14 Oct 2021 08:24:23 +0800</pubDate><description><![CDATA[var arr = [11, 2, 11, 2, 3, 3, 4, 8, 6, 7];

  //将数组的每一个元素依次与其他元素做比较，发现重复元素，利用数组方法splice()删除重复元素
  //两个循环遍历判断他们两个的数字是否相等，跟排序差不多，就是拿第一个数依次和后面的数进行
  //比较，如果相等就删除他
   for(var i = 0;i&lt;arr.length-1;i++){
      for(var j = i+1;j&lt;arr.length;j++){
       ...]]></description><category></category></item><item><title><![CDATA[JavaScript多方法获取鼠标位置、元素的宽高、元素的位置，以及他们的主要作用详细说明]]></title><link>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/120115858</link><guid>https://blog.youkuaiyun.com/Cat_LIKE_Mouse/article/details/120115858</guid><author>Cat_LIKE_Mouse</author><pubDate>Sun, 05 Sep 2021 16:09:05 +0800</pubDate><description><![CDATA[获取鼠标的位置

鼠标对象事件
			说明
		e.pageX
			返回鼠标相对于文档页面的x轴坐标
		e.pageY
			返回鼠标相对于文档页面的y轴坐标
		e.clientX
			返回鼠标相对于浏览器窗口可视区的x轴坐标
		e.clientY
			返回鼠标相对于浏览器窗口可视区的Y轴坐标
		e.screenX
			返回鼠标相对于电脑屏幕的X轴坐标
		e.screenY
			返回鼠标相对于电脑屏幕的Y轴坐标
		获取元素的宽高

属性
			方法
		element.offsetWi]]></description><category></category></item></channel></rss>