自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Tailwind 和 Antd 样式冲突问题解决

Tailwind默认样式会把 button 背景色设置为透明,会影响到antd的Button组件。

2023-11-24 10:12:27 900

原创 js导出excel(js-export-excel)

js导出excel表格这个需求在后台管理系统中很常见,我们使用js-export-excel进行excel的导出首先在我们的项目中安装这个包 npm install js-export-excel封装一个导出报表的方法使用ts进行一些类型检查与语法提示const ExportExcel = require('js-export-excel')interface Ioption { fileName?: string; datas?: Idata[]}//data的类型int

2022-04-25 23:39:44 5249 1

原创 github提交commit但是未push回退版本

使用 git reset 命令如果想要代码回退到上一个版本 使用 git reset --hard HEAD^如果只是想撤销commit不更改当前代码 使用 git reset --soft HEAD^HEAD^ 代表的是上一版本 也可以 HEAD~x 表示回到x个版本之前如果不小心执行了 reset–hard 后悔了 ,想把代码找回来可以执行 git reflog 找到想要回退的版本号使用 git reset --hard 后边跟上回退版本的版本号这样代码就回来了此时还可以执

2022-03-25 18:43:15 855

原创 js实现反转链表

//js中是没有链表的,但是我们可以用对象的引用来模拟一个链表 // 首先创建一个链表 function CreateNode(data){ this.data = data this.next = null}let a = CreateNode(1)let b = CreateNode(2)let c = CreateNode(3)a.next = bb.next = c//此时我们的链表创建完成 // 打印列表function printLst(head){ whil

2021-11-22 22:33:43 3817

原创 js实现有序数组的二分查找

// 递归function indexOf(arr,target,start,end){ start = start||0 end = end||arr.length-1; if(start>end){ return -1 } let mid = Math.floor((start+end)/2) if(arr[mid]>target){ end = mid-1 return indexOf(arr,target,start,end) }el

2021-11-22 22:32:41 3459

原创 Vue组件通信的几种方式

1、props2、$emit 和$on3、provide和inject4、vuex5、$attrs 和 $listeners6、$children $parent 和ref

2021-11-20 17:20:05 433 1

原创 github的简单使用

1.网上创建好了有内容的仓库,本地去更新将远端仓库克隆到本地使用git clone 地址命令https://github.com/lph0913/test.git远端地址分为两种1、http地址2、ssh 地址将做好的更新提交到远端进入到仓库打开命令行执行 git add . 将对仓库的修改让远端记录 .表示所有更改,可以换成文件名执行 git commit -m'更新信息' 更新信息指的就是这次的更新标题,将已经被记录的修改制作成一个版本并添加版本留言第一次执行这个命令会失效,会提示

2021-11-20 16:14:14 598

原创 利用栈的思想解决括号闭合的问题(javascript)

var str = []{}() function tagMatch(str) { if (!str) { console.log('false'); return false } const stack = [] const tagArr = str.split('') let lastTag = null tagArr.map((item, index) => { // if.

2021-11-19 13:07:39 642

原创 常见HTTP状态码

HTTP状态码常见状态码200 - 请求成功301 - 资源(网页等)被永久转移到其它URL302 - 资源被临时移动转移到其他地址400 - 语法错误,服务器无法理解请求内容401 - 请求要求用户的身份认证403 - 服务器拒绝请求404 - 请求的资源(网页等)不存在408 - 请求超时500 - 内部服务器错误分类分类描述1**信息,服务器收到请求,需要请求者继续执行操作2**成功,操作被成功接收并处理3**重定向,需要进一步的操作以完

2021-10-24 10:21:30 60

原创 js的垃圾回收与内存泄漏

回收垃圾先要想一个问题什么是垃圾?一般来说没有被引用的对象就是垃圾,有几个例外如果几个对象引用形成一个环,互相引用,但别的数据访问不到,这几个对象也是垃圾,也要被清除常用的垃圾回收策略是标记清除和引用计数,其中标记清除更为常用标记清除对于脱离作用域的变量进行回收,当进入作用域时,进行标记,离开作用域时,标记并回收这些变量。当变量进入环境(例如,在函数中声明一个变量时),就将这个变量标记为“进入环境”,而当变量离开环境时,将其标记为“离开环境” function test(){ let

2021-10-23 21:09:09 74

原创 ES6的常用新特性

let 、const都是声明变量const声明一个只读的常量 声明之后不可以修改,所以 const 一旦声明就必须立即初始化,不能留到以后赋值都是块级作用域,在{}内有效箭头函数箭头函数写法更加简洁,省略了function关键字声明,省略return[1,2,3].map(x=>x+1)// 相当于[1,2,3].map(function(x){ return x+1})另外,箭头函数的this是定义时的this,不是运行时的this,比如vue在method中找this.d

2021-10-23 20:02:42 76

原创 DOM事件流

DOM 事件流 分为三个阶段事件捕获 到达目标 事件冒泡事件捕获阶段不会接收到事件,到body就结束了捕获Document->html->body->div冒泡div->body->html->Document事件委托 addEventListener(事件名,事件处理函数,布尔值)布尔值为true时 在捕获阶段调用事件处理程序布尔值为false时 在冒泡阶段调用事件处理函数DOM0 事件处理程序// 绑定事件btn.onclick=func

2021-10-23 18:07:00 71

原创 TCP的三次握手与四次挥手及常见面试题

序列号seq确认号ack确认ACK同步SYN终止FINACK SYN FIN 这些大写的单词表示标志位,其值要么是1,要么是0;ack,seq小写的单词表示序号三次握手过程理解第一次握手:建立连接时,客户端发送syn(syn=x)包到服务器,并进入SYN_SEND状态,的古代服务器确认;SYN:同步序列号(Synchronize Sequence Numbers)第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN(syn=y)包,即SYN+A.

2021-10-13 15:36:54 107

原创 正则表达式(一)

正则表达式创建创建正则表达式的方式字面量创建正则表达式 =>没有办法操作变量字面量创建的正则表达式需要采用变量时需要使用eval()方法将字符串变为js语句let str = 'regexp'let as = 'e'console.log(eval(`/${as}/`).text(str));使用对象创建正则表达式 let str = 'regexp' let reg = new RegExp('e','g') // 对象创建的正则表达式不需要写/ /转义符,

2021-09-07 22:54:59 73

原创 v-if和v-show有什么区别

相同点 : 两者都是判断dom节点是否显示不同点:实现方式v-if是根据值的真假判断是否要对元素节点从dom树上删除或重建,v-show只是修改元素节点的css样式,也就是display的值,元素始终在dom树上编译过程v-if 切换有一个局部编译/卸载的过程, 切换过程中合适地销毁和重建内 部的事件监听和子组件; v-show 只是简单的基于 css 切换编译条件v-if 是惰性的, 如果初始条件为假, 则什么也不做; 只有在条件第一次变为真时才开始局部编译;

2021-08-30 19:02:20 122 1

原创 网页中复制文本添加来源信息

有些网站 ( 例如CSDN ) 为了维护版权信息, 用户在复制完成后, 发现粘帖出来的内容还会附加一些原文链接之类的来源信息,这个功能如何实现呢?其实只需要添加一个oncopy复制监听事件即可代码如下: document.oncopy = function addLink(e){ e.preventDefault(); //获取复制的文本内容 const selection = window.getSelection(); //获取当前网页地址 const localLink =

2021-08-30 14:57:21 588 1

原创 文本溢出显示省略号

单行文本溢出显示…<div class="text"> <p>Baihai Li, Michael B. Katz,Yingwen Duan, Xianfeng Du, Kui Zhang, Liang Chen, Anton Van der Ven, George W. Graham, and Xiaoqing Pan, A Joint Theoretical and Experimental Study of Phase Equilibria a

2021-08-28 17:27:42 369 1

原创 纯CSS实现三角形的绘制

.box { width: 0; height: 0; border-bottom: 50px solid darkviolet; /*border-bottom: 50px solid transparent;*/ border-top: 50px solid deeppink; border-left: 50px solid red; border-right: 50px solid blue; m...

2021-08-27 15:22:17 121 1

原创 浮动布局的优点?有什么缺点?清除浮动有哪些方式?

浮动布局的优点?有什么缺点?清除浮动有哪些方式?浮动布局简介:当元素浮动以后可以向左或向右移动,直到它的外边缘碰到包含它的框或者另外一个浮动元素的边框为止。元素浮动以后会脱离正常的文档流,所以文档的普通流中的框就变的好像浮动元素不存在一样。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="wid

2021-08-27 11:31:05 498 2

原创 使用display:inline-block 会产生什么问题? 解决方法

当两个inline-block元素放在一块的时候会产生一个空白间隙产生原因是元素被当成行内元素排版的时候,元素之间的空白符(空格、回车换行等)都会被浏览器处理,根据CSS中white-space属性的处理方式(默认是normal,合并多余空白),原来HTML代码中的回车换行被转成一个空白符,在字体不为0的情况下,空白符占据一定宽度,所以inline-block的元素之间就出现了空隙。解决办法1、给子元素添加float:left属性 .inline1,.inline2 { displ

2021-08-27 11:18:05 273

原创 标准盒模型和怪异盒模型

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。Margin(外边距) - 清除边框外的区域,外边距是透明的。Border(边框) - 围绕在内边距和内容外的边框。Padding(内边距) - 清除内容周围的区域,内边距是透明的。Content(内容) - 盒子的内容,显示文本和图像。盒模型有标准盒模型和怪异盒模型box-sizing: content-box 是W3C盒子模型在标

2021-08-27 11:15:30 90

原创 相对定位 relative 和 绝对定位 absolute

1、absolute:绝对定位,相对最近父元素,原有空间不保留会被其他元素挤占。宽度为文本宽度,且宽度不会影响父元素宽度2、relative:相对定位,相对自身原来位置,原有空间保留,不会被挤占。宽度为父元素宽度,且宽度会撑大/缩小父元素宽度Position的属性值有Absolute:绝对定位,是相对于最近的且不是static定位的父元素来定位,如果没有父级元素,就以根节点Fixed:绝对定位,是相对于浏览器窗口来定位的,是固定的,不会跟屏幕一起滚动。Relative:相对定位

2021-08-27 11:10:08 1239

原创 原型链的理解

首先明确几个概念__proto__某个对象的原型对象对象独有prototype某个函数的原型对象函数独有constructor某个对象的构造函数对象独有其中我们需要牢记两点:__proto__和constructor属性是对象所独有的;prototype属性是函数所独有的,由于函数也是一种对象,所以函数也拥有__proto__和constructor属性。__proto____proto__属性的作用就是当访问一个对象的属性时,如果该对象内部

2021-08-26 22:41:47 73

转载 数据类型的几种判断方法以及原理

基本数据类型有number string undefined null symbol(es6新增) object(function array object) bigInt(es10新增)等 8种一、 typeoftypeof 目前能返回string,number,boolean,symbol,bigInt,undefined,object,function这八种判断类型无法判断数组和null用typeof判断数组和null都会返回objectnull既然属于基本数据类型,为什么用typeof

2021-08-26 21:43:20 530

空空如也

空空如也

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

TA关注的人

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