自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文学会Git管理代码仓库

Git 是一个非常流行的分布式版本控制系统,用于管理代码、文本文件等任何形式的文档。它让一个或多个开发者合作编写代码变得容易而舒适,同时提供了远程存储库和与不同工具的整合。本文内容偏基础,个人认为讲得足够细致,请耐心读取,欢迎读者底部留言评论。

2023-06-13 22:49:29 1779

原创 详解JavaScript闭包

本文将详细介绍闭包,主要包括:闭包是什么、闭包形成的原因、闭包的作用、闭包的使用场景、闭包可能存在的问题、以及讲解闭包相关的面试题

2024-01-08 20:00:25 457

原创 详解call、apply、bind方法

call、apply、bind这三个方法都可以显式的指定调用函数的this指向,那么这三个方法会有什么区别呢?本文将会进行详细讲解,通过本文你将学习到如何使用这三个方法,以及这三种方法的源码是怎么实现的。

2024-01-07 12:22:40 475

原创 详解ajax、fetch、axios的区别

众所周知它们都用来发送请求,其实它们区别还蛮大的。这也是面试中的高频题,本文将详细讲解。学完本文你将收获到:1.如何封装一个Ajax,2.如何使用fetch方法,3.如何在项目中封装axios请求,4.它们之间的区别

2024-01-07 12:14:33 1861

原创 JavaScript——this指向问题详解

非严格环境下,全局下的this指向window, 而在严格环境下是undefined。setTimeout等都是挂载在window下的,因此setTimeout中的this,不管怎么写都指向window

2023-12-29 23:33:41 995

原创 Web常用的编码和解码技术

URI指的是统一资源标识符(Uniform Resource Locator),它是用来标识和定位互联网上的资源(如网页、图片、文档等)的一种标识方式,它是一个广义的概念,如我们常用的URL就属于URIURL能够定位给到互联网上的某个资源的位置。URL:用于标识和定位互联网上的资源的位置。它包括了资源的地址和访问方式,以确保资源能正常被定位和检索。通常由以下6部分组成。协议protocol:指定了资源的访问方式,常见的协议包括HTTPHTTPSFTPmailtofile等。域名(也叫主机名)Host。

2023-12-29 15:56:06 1156

原创 计算机基础——原、反、补码与位运算

补码在反码的基础上,解决了零表示不唯一的问题,还增加了一个负数的一个表示范围(计算机字长为8位的原码或反码的表示范围为`[-127, +127]`,而补码`[-128, 127]`)

2023-12-28 22:50:59 470

原创 前端实现埋点&监控

埋点可以帮助企业更好地了解用户需求和行为习惯,优化运营并预测趋势,具有重要的意义,常见的埋点包括:pv【PageView】上报(包括history上报、hash上报)、uv【UserView】上报、dom事件上报、js报错上报(包括常规错误上报、Promise报错上报),通过这篇文章你可以学习到:前端埋点&监控、区分js模块化、打包工具rollup、API之History、JS二进制、sendBeacon发送post请求等知识。

2023-12-28 22:45:53 1099

原创 JavaScript——new关键字详解

new的原理如下:1. 第一步:创建一个空对象,作为将要返回的对象。2. 第二步:将这个空对象的原型指向构造函数的`prototype`属性,也就是将对象的`__proto__`属性指向构造函数的`prototype`。**【让对象能沿着原型链去使用构造函数中`prototype`上的方法】3. 第三步:**将这个空对象赋值给构造函数内部的`this`关键字,执行构造函数。**【让构造器中设置的属性和方法设置在这个对象上】4. 第四步:返回这个对象

2023-12-26 20:19:22 964

原创 nodejs进阶

npm是Node Package Manager(Node.js包管理器)的缩写,是Node.js社区最流行的包管理工具之一。它不仅提供了包管理的功能,还提供了发布和共享代码、管理依赖、版本控制等功能,可以帮助开发者更方便地开发和分享代码。npm可以用来从全球的代码库中获取并安装Node.js模块,这些模块可以用于构建应用程序、工具和包等。开发者可以通过npm来搜索、安装、更新和卸载各种Node.js模块。

2023-12-26 20:11:27 1629

原创 canvas基础教学

Canva是一个可以使用脚本(通常是JavaScript)来绘制图形的HTML元素,例如,它可以用于绘制图表、制作图片构图或者制作简单的动画。本篇博客从一些就基础开始,描述了如何使用元素来绘制2D图形。看起来和元素很相像,与的不同就是它没有和属性,并且元素需要结束标签。实际上,标签只有两个属性和,这两个属性是可选的,当没有设置宽高时,会初始化宽度为300像素和高度为150像素,另外也可以使用来定义宽高,但在绘制时图像会伸缩以适应它的框架尺寸:如果的尺寸与初始化画布的比例不一致,它会出现扭曲。注意:如果你绘制

2023-12-25 22:42:04 985

原创 数据结构——堆

堆是一种特殊的树,满足如下条件:完全二叉树:除了最后一层,其他层节点个数都是满的,最后一层的节点都集中在左侧连续位置。堆中每一个节点的值都必须大于等于(或小于等于)其左右节点的值。堆和二叉搜索树的区别是:二叉搜索树的要求更为严格,它要求某个节点大于(小于)左侧节点小于(大于)右侧节点,而堆只要求某个节点大于(小于)左右两侧节点即可,因此同一组数据可以构建多种不同形态的堆。堆是完全二叉树,因此大部分时候使用数组来存储堆。如上图,我们使用来表示数组长度,表示当前节点,我们可以总结出如下规律:堆化指的是对数组元素

2023-12-25 15:59:27 1033

原创 前端面试——JavaScript面经(持续更新)

本文记录为了面试而总结的JavaScript面经,其中包括JavaScript用哪些数据类型、它们有什么区别、判断数组的方式有哪些?、null和undefined有什么区别?等等

2023-12-23 22:43:12 1202 1

原创 JavaScript——数据类型判断方法汇总

本文介绍JS的4种类型判断的方法并封装一个判断类型是否相等的函数,判断方法包括typeof、instanceof、constructor和Object.prototype.toString.call()四种。

2023-12-23 22:18:05 515

原创 CSS——sticky定位

粘性定位通俗来说,它就是相对定位relative和固定定位fixed的结合体,它的触发过程分为三个阶段

2023-12-08 22:07:13 1538

原创 前端面试——CSS面经(持续更新)

重排(回流):当增加或删除dom节点,或者给元素修改宽高时,会改变页面布局,那么就会重新构造dom树,然后再次渲染。重绘:计算好盒模型的位置,大小和其他一些属性之后,浏览器就会根据每个盒模型的特性进行绘制。浏览器的渲染机制:当dom的大小,位置发生改变时进行重排,当dom的样式如改变时进行重绘。网格布局笔记:网格布局表格布局可以看下面代码:结果如下::独占一行,宽度继承至父盒子,多个元素会另起一行,可设置宽高以及和属性。:元素不会独占一行,宽度、高度由内容撑开,不可设置宽高,但可以设置水平方向的和。:行内

2023-12-05 22:40:30 1532 2

原创 二叉树的前、中和后序遍历的递归与迭代实现

【代码】二叉树的前、中和后序遍历的递归实现。

2023-12-04 18:28:14 695

原创 二分查找(闭区间)

【代码】二分查找(闭区间)

2023-11-21 15:44:38 68

原创 KMP——字符串匹配

使用KMP算法进行字符串匹配

2023-11-21 15:41:32 155

原创 Canvas—从入门到案例实现

canvas是一个可以使用脚本(通常是JavaScript)来绘制图形的HTML元素,通过本篇博客,你将学习到canvas的基本使用,并且本文会通过两个综合案例实践练习canvas。

2023-11-15 13:56:57 117

原创 2023/11/11

你将学习到1.渐变色,2.point-events、perspective 3.seo优化

2023-11-11 13:49:18 80

原创 TypeScript之索引签名

在 TypeScript 中,索引签名是一种定义对象类型的方式,它允许我们使用字符串或数字作为索引来访问对象的属性。索引签名最主要的作用就是**允许我们动态地添加或访问对象的属性,通过使用索引签名,我们可以在编译时无法确定具体属性名称的情况下,仍然能够安全地操作对象的属性**。

2023-10-26 22:04:07 444

原创 2023/10/23

一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。通俗来讲就是第三方服务商提供的实现产品软件某项功能的工具包。

2023-10-23 20:26:15 283

原创 前端多媒体处理工具——ffmpeg的使用

在前端领域,FFmpeg 是一个非常有用的工具,它提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种码率切换等。可以在多种操作系统安装使用。

2023-10-20 23:30:35 798

原创 2023/10/15

1.uniapp之Vue2升Vue3值得注意的几点2. 浏览器本地存储之Cookie和webStorage3. CSS变量 var()的用法4. CSS之实现线性渐变背景5. 图片无法和文字对齐的正确解决方案6. 使用正则处理接口返回的富文本内的图片7. transition实现箭头展开和关闭动画效果(不使用动画帧)8. new Array()

2023-10-15 20:56:08 139

原创 CSS之实现线性渐变背景

`background: linear-gradient`是CSS中用于创建**线性渐变**背景的属性,这个属性允许你定义一个在元素的背景中进行渐变的效果,可以从一个颜色过渡到另一个颜色。

2023-10-15 20:45:29 2456 1

原创 浏览器本地存储之Cookie和webStorage

浏览器本地存储主要包括 Cookie 和 Web Storage 两种机制。它们都是用来在客户端存储数据,以便在浏览器会话之间保持信息或在同一会话中的页面之间共享信息,在这篇文章我们详细学习浏览器本地缓存并区分它们之间的区别。

2023-10-15 18:22:18 319

原创 CSS变量 var()的用法

这里介绍一下开发中常用的css变量var(),它可以实现样式的动态设置,使用方法主要分为全局使用和局部使用两种。如何定义CSS变量var():root {上述代码实现了在根元素定义了一个名为的样式变量。如何使用a {

2023-10-15 15:17:06 1221

原创 Nodejs内置模块process

`process.env`用于获取操作系统所有的环境变量,它是process模块最常用的一个属性。并且可以通过它修改环境变量,但是修改只在当前进程生效,并不会真正影响系统的环境变量。

2023-10-11 23:20:26 241

原创 NodeJs内置模块child_process

子进程是Nodejs的核心Api,如果你会shell命令,它会有非常大的帮助,或者你喜欢编写前端工程化工具之类,它也有很大的用处,以及处理CPU密集型应用。创建子进程spwan:执行命令exec:执行命令execFile:执行可执行文件fork:创建node子命令execSync:执行命令 同步执行:执行可执行文件 同步执行spawnSync:执行命令 同步执行。

2023-10-11 22:53:59 387

原创 2023/09/30

换个角度讲,BOM包含了DOM(对象),浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作。indefOf()方法可返回某个指定的字符串值在字符串首次出现的位置,如果要检索的字符串值没有出现,则该方法返回-1。方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的字符串。**BOM(Brower Object Model浏览器对象模型)**是为了操作浏览器出现的API,包括。全局变量是window对象的属性,全局函数是window对象的方法。

2023-09-30 15:58:46 142

原创 2023/09/17

1. 网格布局的基本使用2. WebGL之glb&gltf、hdr&rgbe文件3. vscode快捷键之展开所有代码以及$符的使用4. vue之函数在默认传参的基础上新增参数

2023-09-17 16:23:19 177

原创 CSS——grid网格布局的基本使用

网格布局在实现页面自适应,大屏可视化中常常使用,在这篇博客里,记录一下网格布局的基本使用。

2023-09-16 17:12:12 457

原创 前端断点调试相关

前端断点调试

2023-09-10 21:58:30 44

原创 2023/09/10

query相当于get请求,页面跳转的时候,可以在地址栏看到请求参数;而params相当于post请求,参数不会在地址栏中显示。

2023-09-10 21:12:10 316

原创 HTML5

安装vscode网站是指因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合。网页是网站中的一“页”,通常是HTML格式的文件,它要通过浏览器来阅读。网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页,常见以.html或.html后缀结尾的文件,因此将其俗称为HTML文件。HTML指的是超文本标记语言(Hyper Text Markup Language),它是用来描述网页的一种语言。HTML不是一种编程语言,而是一种标记语言。

2023-08-31 23:11:22 726

原创 《图解HTTP》——上野 宣

虽然有使用 HTTP 协议确定报文完整性的方法,但事实上并不便捷、可靠。其中常用的是 MD5 和 SHA-1 等散列值校验的方法,以及用来确认文件的数字签名方法。提供文件下载服务的 Web 网站也会提供相应的以 PGP(Pretty Good Privacy,完美隐私)创建的数字签名及 MD5 算法生成的散列值。PGP 是用来证明创建文件的数字签名,MD5 是由单向函数生成的散列值。不论使用哪一种方法,都需要操纵客户端的用户本人亲自检查验证下载的文件是否就是原来服务器上的文件。浏览器无法自动帮用户检查。

2023-08-27 17:06:50 299

原创 2023/08/27

即使radix是2时也是如此:返回的字符串包含一个符号(1)前缀和正数的二进制表示,不是数值的二进制补码。如果转换的基数大于10,则会使用字母来表示大于9的数字,比如基数为16【其实就是十六进制】的情况,则使用a到f的字母来表示10到15。进行数字到字符串的转换时,建议用小括号将要转换的目标括起来,防止出错。会将先前元素的计算结果作为参数传入,最后将结果汇总为单个返回值。指定要用于数字到字符串的转换的基数(从2到36)。:为数组中每个元素执行的函数,其返回值将作为下一次调用。如果基数没有指定,则使用10。

2023-08-27 14:38:34 180

原创 2023/08/10

计算属性的值往往通过一个回调函数返回,但是这个回调函数是无法传递参数的,要想实现计算属性传参可以。下载图片和复制分享链接实现的思路是一个的,都是用js创建一个元素,然后操作这个元素实现功能。可以看到计算属性成功传递参数,并且返回的结果也是响应式的。实现小程序、h5跳转其他平台授权的思路是:【抖音举例】往往需要调用一个跳转其他平台的接口,此接口。,在授权页授权完成后自动返回通过参数传递的。下面我分别使用vue2和vue3实现。来实现灵活展示弹窗内容,,这样就完成授权了。

2023-08-10 23:08:08 166

原创 SSE技术和WebSocket技术实现即时通讯

服务器发送事件SSE(Server-Sent Events)是一种基于HTTP的单向通信机制,用于实现服务器主动向客户端推送数据的技术,也被称为“事件流它基于HTTP协议,利用其长链接的特性,在客户端与服务器之间建立一条持久化连接,并通过这条连接实现服务器向客户端实时数据推送。WebSocket 是一种在单个 TCP 连接上进行全双工通信的网络协议。它是 HTML5 中的一种新特性,能够实现 Web 应用程序和服务器之间的实时通信,比如在线聊天、游戏、数据可视化等。

2023-08-06 22:08:05 2314

空空如也

空空如也

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

TA关注的人

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