自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树结构重组 根据code与parentCode拼装树结构

【代码】树结构重组 根据code与parentCode拼装树结构。

2023-10-26 17:19:50 143

原创 useEffect用法

【代码】useEffect用法。

2023-10-24 14:27:42 109

原创 下载二进制数据流

【代码】下载二进制数据流。

2023-10-18 16:27:04 110

原创 获取路由参数

【代码】获取路由参数。

2023-10-11 11:10:13 93

原创 git 取消待推送内容

选择最后一次提交的记录,右键->软合并。

2023-10-10 18:05:36 171

原创 a连接下载

【代码】a连接下载。

2023-09-18 09:32:31 33

原创 安装适配依赖

【代码】安装适配依赖。

2023-09-11 16:01:35 47

原创 数据监听,信息传递

【代码】数据监听,信息传递。

2023-08-31 15:08:22 73

原创 tree根据子节点及父节点id,获取子节点id

【代码】tree根据子节点及父节点id,获取子节点id。

2023-06-25 17:47:02 151

原创 tree通过子节点id获取子节点及父节点id

【代码】tree通过子节点id获取子节点及父节点id。

2023-06-25 17:42:03 354 1

原创 树结构数据处理-过滤未选中数据

【代码】树结构数据处理-过滤未选中数据。

2023-03-04 17:46:17 91

原创 下载文件a

a链接下载文件

2023-02-01 16:08:53 56

原创 git 回退版本

第三步:git reset --hard [版本号]就回退到merge前的代码状态了。第二步:git reflog查出要回退到merge前的版本号。第四步:git push -f是进行强制推送,覆盖远程分支。第一步:git checkout到你要恢复的那个分支上。至此回退代码的目标达成。

2023-01-12 10:18:59 235

原创 拖拽时防止页面文字选中

的默认行为,我们的拖动不再会选中文本或者页面上的元素。一个比较简单的办法就是在。

2022-12-23 16:37:16 458

原创 字符串标签转标签react

字符串标签转标签

2022-12-09 17:40:26 430

原创 js 常用工具类utils

js工具类

2022-09-19 16:13:36 169

原创 重组树状数据tree

重置树状数据

2022-09-05 17:57:59 130

原创 创建数组添加数据

let obj={}( obj.data || (obj.data=[])).push(1)

2022-06-08 15:41:29 216

原创 git 查看密钥

cat id_rsa.pub

2022-05-05 21:14:32 5737

原创 在系统上禁止运行脚本

2022-05-05 10:21:44 110

原创 360 默认浏览器

系统-》默认软件

2022-01-27 11:13:20 47

原创 antd 日期选择

<div> <DatePicker onChange={this.handleStartTime} locale={zhCN} disabledDate={this.startDisabledDate} picker="month" /><DatePicker onChange={this.handleEndTime} locale={zhCN} disabledDate={this.endDisabledDate} picker="month" /></di.

2021-10-20 09:53:21 275

原创 cmd 命令拒绝访问

退出360安全卫士。

2021-10-15 09:23:47 2497

原创 parseInt第二个参数问题

parseInt()第二个参数介于2~36之间否则结果为NaNparseInt(123,5)=1*5的2次方+2*5的1次方+3*5的零次方=25+10+3=38次方是根据第一个参数的length-1判断的

2021-08-20 18:05:53 122

原创 vue组件通讯方式

1.props $emit2.$parent $children3.$attrs和$listeners 结合$emit $arrts 绑定属性,$listeners绑定方法4.provide和inject 父组件provide注入 子组件inject接收5.vuex

2021-08-14 16:28:38 93

原创 vue路由传参

params与query两种params路由定义//在APP.vue中<router-link :to="'/user/'+userId" replace>用户</router-link> //在index.js{path: '/user/:userid',component: User,},路由跳转// 方法1:<router-link :to="{ name: 'users', params: { uname: wade...

2021-08-14 15:40:01 84

原创 shouldComponentUpdate与PureComponent

react效率高的做法只有当组件的state或props数据发生改变时才重新render()原因Component中的shouldComponentUpdate()默认放回true解决办法1重写shouldComponentUpdate()方法比较新旧state或props数据,如果有变化才返回ture,如果没有返回fasle办法2使用PureComponentPureComponent重写了should...

2021-08-14 11:59:30 155

原创 js继承的方式

// 父类function Person(name){ this.name=name; this.sum=function(){ console.log(this.name) }}Person.prototype.age=16;// 1. 原型链继承function Per(){ this.name='原型继承'}Per.prototype=new Person('小伙')Per.prototype.mm='大拿' let p1=new P.

2021-07-29 10:20:42 58

原创 组件库设计原则

1.1标准性任何一个组件都应该遵循一套标准,可以使得不同区域的开发人员距此标准开发出一套标准统一的组件1.2独立性描述了组件的细粒度,遵循单一职责原则,保持组件的纯粹性属性配置等API对外开放,组件内部状态对外封闭,尽可能的少业务耦合1.3复用与易用UI差异,消化在组件内部(注意并不是写一堆if/else)输入输出友好,易用1.4使用SPOT法则SinglePointOfTruth,就是尽量不要重复代码1.5避免暴露组件...

2021-07-28 15:59:03 625

原创 Intersection 节点出现在视口内

`var io = new IntersectionObserver(callback, option);上面代码中,IntersectionObserver是浏览器原生提供的构造函数,接受两个参数:callback是可见性变化时的回调函数,option是配置对象(该参数可选)。// 开始观察io.observe(document.getElementById(‘example’));// 停止观察io.unobserve(element);// 关闭观察器io.disconnect();

2021-07-28 10:47:06 231

原创 跨域问题

一、如何解决跨域问题1.通过jsonp跨域2.document.domain+iframe 跨域3.location.hash+iframe4.window.name+iframe5.postMessage跨域6.跨域资源共享(CORS)7.nginx代理跨域8.nodejs中间件代理跨域9.webSocket协议跨域二、关于跨域需要明确的问题跨域并非浏览器限制了发起跨站请求,而是跨站请求可以正常发起,但是返回结果被浏览器拦截了。每次需求都会发出,服务器端也会

2021-07-28 10:08:45 24

原创 箭头函数与普通函数区别

1.箭头函数没有自己的this,只能通过作用域链来向上查找离自己最近的那个函数的this2.箭头函数不能作为constructor,因此不能通过new来调用,所以他并没有new.target这个属性3.箭头函数没有argument属性,可以通过rest可以获取4.箭头函数不能直接使用call和apply,bind来改变this5.箭头函数不能使用yield,不能用来做为generator函数6.箭头函数语法比普通函数更加简洁注意:ES6为new命令引入了一个new.t...

2021-07-27 17:36:17 101

原创 手写bind apply 方法

Function.prototype.myapply = function (context, ...argus) { if (typeof this !== 'function') { throw new TypeError('not funciton') } const fn = this let result = null context = context || window .

2021-07-27 17:35:25 64

原创 get、post、put区别

区别put与postPUT和POS都有更改指定URI的语义.但PUT被定义 idempotent的方法,POST则不是。idempotent的方法:如果一个方法重复执行多次,产生 效杲是一样的,那就是idempotent的。也就是说:。PUT请求:如果两个请求相同,后一个请求会把 第一个请求覆盖掉。(所以PUT用来改资源)。Post请求:后一个请求不会把第一个请求覆盖掉。 (所以Post用来增资源)get 与 post1. GET参数通过URL传递,POST放在Reques...

2021-07-27 10:45:40 2709

原创 GC垃圾回收机制

一、常用的垃圾回收机制1.引用计数法1.跟踪记录每个值被应用的次数2.当声明变量并将一个引用类型的值赋值给该变量时,则这个值的引用次数加1.3.同一值被赋予另一个变量,该值的引用计数加14.当引用改值的变量被另一个字所取代,则引用计数减15.当计数为0的时候,说明无法再访问这个值了,系统将会回收该值所占用的内存空间。6.缺点循环引用的时候,引用次数不为0,不会被释放。2.标记清除给存储在内存中的变量都加上标记,判断哪...

2021-07-27 10:35:36 26

原创 import原理与require有什么不同

import 原理(实际上就是ES6 module的原理)1.简单来说就是闭包的运用2.为了创建Module的内部作用域,会调用一个包装函数3.包装函数的返回值也就是Module向外公开的API,也就是所有export出去的变量4.import也就是拿到module导出变量的引用与require的不同1.CommonJS模块输出的一个值的拷贝,ES6模块输出的是值的引用2.CommonJS 模块是运行时加载,ES6模块是编译是输出接口CommonJS是运行时加载对应模块,一旦

2021-07-26 15:36:07 250

原创 函数柯里化

//1. 参数长度不固定function add (...args) { //求和 return args.reduce((a, b) => a + b)}function currying (fn) { let args = [] return function temp (...newArgs) { if (newArgs.length) { args = [ ...args, .

2021-07-26 14:24:01 61

原创 Vite与webapck 比较

一、对比分析webpack会先打包,然后启动开发服务器,请求服务器 时直接给予打包结果。而vite是直接启动开发服务器, 请求哪个模块再对该模块进行实时编译。由于现代浏览器本身就支持ES Module,会自动向依赖 的Module发出请求。vite充分利用这一点,将开发环境 下的模块文件,就作为浏览器要执行的文件,而不是像 webpack那样进行打包合并。由于vite在启动的时候不需要打包,也就意味着不需要 分析模块的依赖、不需要编译,因此启动速度非常快。 当浏览器请求某个模块时,再根据需要对模块

2021-07-26 10:14:59 625

原创 栈与堆的理解

理解:栈和堆其实是两种数据结构,栈堆都是一种数据项按序排列的数据结构,只能在一端(称为栈顶top)对数据项进行插入和删除。堆栈四个特殊的存储区,主要功能是暂时存放数据和地址。堆1.堆内存的存储的值的大小不定,是由程序员自己申请并指明大小。因为堆内存是new分配的内存,所以运行效率会较低。2.堆内存是向高地址扩展的数据结构,是不连续的内存区域。系统也是用链表来存储空闲的内存地址,所以是不连续的。因为是记录的内存地址,所以获取是通过引用,存储的对象居多3.堆内存的回收...

2021-07-23 10:06:18 128

原创 防抖与节流

const box=document.getElementById('box') const Input=document.getElementById('Input') function test(){ console.log(123) } function debounce(fn,time){ let setT=null; return function(){ clearTimeout(setT).

2021-07-22 09:45:05 31

计算机统考题库.rar

计算机统考题库.rar

2022-09-27

空空如也

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

TA关注的人

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