自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 JS深拷贝和浅拷贝图例理解

a引用数据类型存在栈内存中,值存在于堆内存中,但是栈内存会提供一个引用的地址指向堆内存中的值当b=a进行拷贝时,其实复制的是a的引用地址,而并非堆里面的值。而当我们a[0]=1时进行数组修改时,由于a与b指向的是同一个地址,所以自然b也受了影响,这就是所谓的浅拷贝了。那,要是在堆内存中也开辟一个新的内存专门为b存放值,就像基本类型那样,起步就达到深拷贝的效果了...

2022-01-12 17:07:04 73

原创 JS手写一个冒泡排序

const arr = [10, 3, 9, 0, 40] function bubbleSort() { for (let i = 0; i < arr.length - 1; i++) { for (let j = 0; j < arr.length - 1; j++) { if (arr[j] > arr[j + 1]) { const tmpe = a...

2022-01-11 14:29:15 557

原创 js 中关于 async和await ,自己的理解

首先,需要明白一点:只要一个函数前面加了async,那么这个函数最后return的结果一定是一个promise对象 async function async1() { return '111' } console.log(async1())结果:如果需要拿到最终return的结果,可以通过.then方式获取结果 async function async1() { return '111' }

2021-12-30 17:52:04 542

原创 js手写一个双向绑定

双向绑定原理:通过 Object.defineProperty() 的 set 和 get,在数据变动时发布消息给订阅者触发监听,view层输入值影响data的属性值,data属性值发生改变会更新view层的数值变化<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE

2021-12-29 10:51:43 76

原创 sort函数中数组排序

const newArr = [ { index: 199 }, { index: 14 }, { index: 55 }, { index: 201 }, { index: 68 }] newArr.sort(function (a, b) { return a.index - b.index }) ...

2021-12-29 10:42:52 169

原创 最简单,最实用的git上传项目方法

首先复制项目git地址,这个总会吧 然后随便找个地方,在下图标记的位置输入cmd,就可以进入当前文件的cmd 在cmd中输入git clone 加上刚刚复制的项目地址,然后按Enter键出现下图的warning提示就行了 生成文件夹后,将此文件夹中的.git文件夹复制到你的项目中就OK了,然后就可以删除刚刚clone生成的文件夹了(git版本控制的原理其实就是靠这个.git文件夹,所以把这个文件夹复制进项目即可进行git版本控制)注意:如果生成的文件夹中没有...

2021-12-23 11:31:56 719

原创 Vue axios 解决调用接口跨域问题

谷歌浏览器报错:No 'Access-Control-Allow-Origin' header is present on the requested resource.火狐浏览器报错:已拦截跨源请求:同源策略禁止读取位于 --网址-- 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')注意:此教程只适用于vue cli 3创建的项目,vue cli 3 创建的项目没有config文件夹,如果你的项目中有config文件夹,那么你的项目可能是...

2021-09-03 13:46:52 1032 1

原创 前端性能优化方案

分享一下目前我认为可以做优化的地方: 减少HTTP请求,可以用户主动点击再调用接口,或者使用懒加载方式 避免使用var定义全局变量,存在变量提升 减少闭包的使用 字符串拼接少用"+",多用join css公用方法,可以使用一个css文件控制 css可以使用sass,less等 使用字体图标icon代替图片图标(用精灵图也可以用精灵图) 善用缓存,不重复加载相同的资源 当判断条件数量越来越多时,越倾向于使用 switc.

2021-08-27 11:18:31 68

原创 cookie和localStorage和sessionStorage的区别

不写全部区别,就写点我所认知的吧1. 存储大小:cookie:一般不超过4klocalStorage:5M甚至更多sessionStorage:5M甚至更多2. 数据有效期:cookie:一般由服务器生成,可以设置失效时间;若没有设置时间,关闭浏览器cookie失效,如果设置了时间,cookie就会存储在硬盘中,过期失效sessionStorage:仅在当前浏览器窗口关闭之前有效,关闭页面或者浏览器会被清除localStorage:永久有效,窗口或者浏览器关闭也会一直保存,除

2021-08-26 11:42:55 88

原创 var ,let ,const 的区别

来个最通俗易懂的吧var:var存在变量提升(无论声明在何处,都会被提至其所在作用于的顶部)比如:var name = 'bbbyqq';window.name === name // truelet:let不存在变量提升(未到let声明时,是无法访问该变量的)比如:let name= 'bbbyqq';window.name=== name // falseconst:const不存在变量提升声明一个基本类型(number,string等等)的时候,

2021-08-26 11:18:44 131 2

空空如也

空空如也

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

TA关注的人

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