自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 react原生函数实现页面滚动到一定高度后显示悬浮按钮

需求背景:当页面很长的时候,我们希望当滑过某一按钮后,它能在接下来的区域以一个小的悬浮按钮的形式固定在页面右侧,类似于一键回到顶部那种按钮的效果,不过这个按钮的事件我们可以随意添加,不一定是要用来回到页面顶部。整体逻辑就是 监听页面滚轮高度 当达到某个值以后 将按钮的display值置为block 让他展示出来 用的是react hook

2022-10-12 16:50:13 762 1

原创 带你秒懂 SSR-服务端渲染

首先回顾一下页面的渲染其实就是浏览器将HTML文本转化为页面帧的过程。而如今我们大部分WEB应用都是使用 JavaScript 框架(Vue、React、Angular)进行页面渲染的,也就是说,在执行 JavaScript 脚本的时候,HTML页面已经开始解析并且构建DOM树了,JavaScript 脚本只是动态的改变 DOM 树的结构,使得页面成为希望成为的样子,这种渲染方式叫动态渲染,也可以叫(CSR)。

2022-09-18 23:18:00 3518

原创 【动态规划】- js 求解打家劫舍问题

首先来看最简单的两种情况,如果只有一间房屋,那这个屋子就是最高的金额,如果有两间房屋,那不能同时偷,只能偷其中其中金额高的那间,如果大于两间屋子,就要进行讨论了。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。解释:偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。.

2022-08-14 23:08:13 423 1

原创 【动态规划】- js 求解买卖股票问题

遍历数组,如果当前数组元素小于最小值民,就更新最小值,始终让其保持最小。给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。同时,你不能在买入前卖出股票。我们需要对股票进行一次买入、一次卖出,卖出在买入之后,并且要计算最大的利润。...

2022-08-14 22:58:47 517 1

原创 【二叉树】- 层序遍历( js 实现)

层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。这种遍历的方式和我们之前学习的都不太一样。需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。使用队列实现二叉树广度优先遍历...

2022-08-07 19:55:22 1454

原创 【二叉树】- 迭代遍历( js 实现前、中、后序)

递归的实现就是:每一次递归调用都会把函数的局部变量、参数值和返回地址等压入调用栈中,然后递归返回的时候,从栈顶弹出上一次递归的各项参数,所以这就是递归为什么可以返回上一层位置的原因。那么大家应该知道我们用栈也可以是实现二叉树的前后中序遍历了。...

2022-08-07 19:31:52 483

原创 【二叉树】- 递归遍历( js 实现前、中、后序)

首先需要确定下来递归算法的三个要素。1,确定递归函数的参数和返回值> 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。2,确定终止条件> 写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。3,确定单层递归的逻辑> 确定每一层递归需要处理的信息。在这里也就会重复调用自己来实现

2022-08-07 18:17:34 146

原创 【网页性能优化】SPA(单页面应用)首屏加载速度慢怎么办?

首屏时间(FirstContentfulPaint),指的是浏览器从响应用户输入网址地址,到首屏内容渲染完成的时间,此时整个网页不一定要全部渲染完成,但需要展示当前视窗需要的内容首屏加载可以说是用户体验中最重要的环节资源加载优化和页面渲染优化大家可以根据自己项目的情况选择各种方式进行首屏渲染的优化https。...

2022-07-23 13:37:37 357

原创 遍历数组的方法有哪些?for循环 forEach for/in for/of map的性能又有什么差别 该如何选择?

如何挑选性能最佳的方法对我们的开发有非常大的帮助。数组的遍历方法有哪些?for循环,forEach,for…in,for…of,map,every,some,reduce,filter他们的性能有没有高低之分呢?

2022-07-22 23:52:01 318

原创 【网页性能优化】-—— 关于图片懒加载

懒加载是一种网页性能优化的方式,它能极大的提升用户体验。就比如说图片,图片一直是影响网页性能的主要元凶,现在一张图片超过几兆已经是很经常的事了。如果每次进入页面就请求所有的图片资源,那么可能等图片加载出来用户也早就走了。所以,我们需要懒加载,进入页面的时候,只请求可视区域的图片资源。全部加载的话会影响用户的体验浪费用户的流量,有些用户并不想全部看完,全部加载会耗费大量流量提示以下是本篇文章正文内容,下面案例可供参考。...

2022-07-21 00:16:34 1129

原创 npm WARN config global `--global`, `--local` are deprecated. Use `--location解决方案

配置node遇到npm WARN config global `--global`, `--local` are deprecated. Use `--location报错的解决方案

2022-06-13 18:31:33 33646 47

原创 你所不知道的console

学习前端开发时,几乎最先学习的就是 。毕竟多数人的第一行代码都是: ; 对象提供了对于浏览器调试控制台的访问,可以从任何全局对象中访问到console对象。灵活运用 对象所提供的的方法,可以让开发变得更简单。用于清除控制台信息输出被调用的次数,可以使用一个参数。演示如下:输出使用 可以打印对象的属性,在控制台中逐级查看对象的详细信息。 是一个属性,而不是方法,使用memory属性用来检查内存信息。如果断言为假,将错误信息写入控制台,如果为真,无显示。 方法将堆栈跟踪输出到控制台。在 中还

2022-06-03 11:35:53 1146

原创 Promise.then()的两个参数是什么,分别是干什么的?第二个参数和catch的区别

Promise.then()的第二个参数与catch的区别,哪一个更好一点?为什么?

2022-05-07 20:33:06 3420 1

原创 跨域通信的几种方式

为什么会产生跨域?浏览器的同源策略。跨域通信有哪几种方式?常见的有JSONP,CORS,postMessage等。如果没有设置跨域,跨域请求会不会到达服务器?有时候会有时候不会

2022-05-04 11:44:47 1251

原创 CORS跨域的原理

CORS跨域的原理跨域资源共享(CORS)是一种机制,是W3C标准。它允许浏览器向跨源服务器,发出XMLHttpRequest或Fetch请求。并且整个CORS通信过程都是浏览器自动完成的,不需要用户参与。而使用这种跨域资源共享的前提是,浏览器必须支持这个功能,并且服务器端也必须同意这种"跨域"请求。因此实现CORS的关键是服务器。通常是有以下几个配置:Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-

2022-05-04 10:42:48 1960

原创 phpstudy_pro升级 composer 版本

phpstudy自带的composer版本为1.8.5,在安装laravel时报错,提示需要将composer升级到2.xx.xx版本。1.下载composer.phar文件下载地址:https://getcomposer.org/download/2.替换phpstudy中的composer.phar文件最后打开phpstudy中的composer 看看版本号 是否正确3.composer更新执行 composer selfupdate 以保持 Composer 一直是最新版本...

2022-05-01 12:25:21 534

原创 Vue——组件通信

1.组件通信常用方式有以下8种:props$ emit / $on$children / $parent$ attrs / $listenersref$ rooteventbusvuex当然vue3中有一些变化,比如说 $ on、$children 都已经废除了,甚至 eventbus 其实在vue3中用起来也不是那么方便了2.根据组件之间关系讨论组件通信最为清晰有效父子组件props / $emit / $parent / ref / $attrs兄弟组件$par

2022-04-08 15:28:44 697

原创 Vue——v-model双向绑定数据原理及用法

vue中双向绑定是一个指令v-model,所谓的双绑就是可以绑定一个响应式数据到视图,同时视图中变化能改变该值。v-model是语法糖,默认情况下相当于:value和@input。使用v-model可以减少大量繁琐的事件处理代码,提高开发效率。通常在表单项上使用v-model,还可以在自定义组件上使用,表示某个值的输入和输出控制。比如说我们在input上使用时,我们将xxx的值绑定到表单元素value上<input v-model = "xxx">;如果这个input的类型是checkbo

2022-04-08 14:49:19 6557

原创 Vue——v-if和v-for哪个优先级更高?

首先我们需要知道关于这个问题,其实在vue2和vue3中的答案是截然相反的。实践中不应该把v-for和v-if放在一起先说结论:在vue2中,v-for的优先级高于v-if在vue3中,v-if的优先级高于v-for通常有两种情况下导致我们这样做:1.为了过滤列表中的项目,比如:v-for="user in users" v-if="user.isActive"在vue2中,把它们放在一起,输出的渲染函数中可以看出会先执行循环再判断条件,哪怕我们只渲染列表中一小部分元素,也得在每次重

2022-04-06 19:36:37 6551 1

原创 Vue——简述生命周期以及每个阶段做的事

每个Vue组件实例被创建后都会经过一系列初始化步骤,比如,它需要数据观测,模板编译,挂载实例到dom上,以及数据变化时更新dom。这个过程中会运行叫做生命周期钩子的函数,以便用户在特定阶段有机会添加他们自己的代码。生命周期总共可以分为8个阶段:创建前后(beforeCreate/created),载入前后(beforeMount/mounted),更新前后(beforeUpdate/updated),销毁前后(beforeDestroy/destoryed),以及一些特殊场景的生命周期。Vue3中新增了三

2022-04-06 18:55:11 2658

原创 TCP三次握手和四次挥手

如果我们把网络体系按照OSI模型划分,那么不管是从上往下,还是从下往上数,处于最中间的都是传输层。也就是说传输层是一个承上启下的作用,传输层主要就做一件事 —— 建立端到端的连接。什么是端到端?比如我们的客户端到服务端就是端到端,客户端和服务端都有自己的ip地址。那么问题来了,客户端和服务端虽然都有自己的ip地址可以取得联系,但是客户端和服务端都有各自的应用进程,而且都可能需要进行TCP连接,比如我在电脑上同时用谷歌和火狐浏览器登录CSDN,很明显CSDN需要把内容分发给两个不同的应用进程,除了ip

2022-04-05 22:04:24 2213

原创 Fatal error in launcher: Unable to create process using ‘“d:\program files (x86)\python.exe“

Fatal error in launcher: Unable to create process using '“d:\program files (x86)\python.exe” “D:\Program Files (x86)\Python\Scripts\pip3.exe” ': ???今天上课的时候老师让我们试一试 Jupyter 我 在安装的时候使用pip命令才发现我竟然用不了 pip 命令,找到Python安装目录下的scripts文件,发现我这里有pip.exe啊,那为什么用不了啊可

2022-03-29 09:40:04 2524

原创 异步编程:一次搞懂Promise,async,await

文章目录前言一、回调函数二、Promise三、错误处理四、async/awaitawait使用时的陷阱123总结前言异步编程允许我们在执行一个长时间任务时,程序不需要进行等待,而是继续执行之后的代码,知道这些任务完成之后再回来通知你,通常是以回调函数(callback)的形式,这种编程模式避免了程序的阻塞,大大提高了CPU的执行效率,尤其适用于IO密集的,例如需要经常进行网络操作数据库访问的应用。如果大家还不是很清楚并发、并行、异步、同步的概念,可以先去看看我之前的博客并发&并行&amp

2022-03-21 19:12:07 1350 2

原创 [WDS] Disconnected解决方法

Vue项目出现这个错误:[WDS] Disconnected!其实并没有对项目运行本身造成什么实质性的影响,但是一条红色的提示摆在那里确实不太好看,还是把他给解决掉吧在网上看好多人说需要将 config/index.js中{host:localhost}改为{host: 127.0.0.1}但是我用起来并没有奏效,就另外找了一种解决方法:打开 Application->LocalStorage,在key上添加loglevel:webpack-dev-server,在Value上添加SI

2022-03-17 20:29:41 11489 6

原创 并发&并行&同步&异步的区别

并发首先并发是一个比较宽泛的概念,它代表计算机能够同时执行多项任务。至于计算机怎么做到“并发”则有许多不同的形式。比如对于一个单核处理器,计算机可以通过分配时间片的方式,让一个任务执行一段时间然后切换另外一个任务再运行一段时间,不同的任务会这样交替往复的一直执行下去。这个过程也被称作进程或者线程的上下文切换。并行对于多核处理器,情况有所不同。任务可以在不同的核心上真正并行地执行而不用通过分配时间片的方式运行,这也就是我们所说的并行。至于同步和异步,则是两种不同的编程模型同步&异

2022-03-17 11:59:58 992

原创 TypeError: this.$refs.resetFields is not a function解决方法

在使用element-ui进行vue项目开发过程中遇到TypeError: this.$refs.resetFields is not a function的报错,就像下面这样:原因:在表单验证时关于重置按钮的.resetFields()方法使用过程中出错。在找错之前先了解Form 组件提供的表单验证功能的用法通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名<!-- 输入框 --><el-form class="log

2022-03-16 22:18:13 16010 1

原创 GET http://192.168.0.102:8080/sockjs-node/info?t=1647433830643 net::ERR_CONNECTION_REFUSED解决方法

vue项目报错GET http://192.168.0.102:8080/sockjs-node/info?t=1647433830643 net::ERR_CONNECTION_REFUSED解决方案

2022-03-16 20:47:37 5040 1

原创 Uncaught Error: [vue-router] route config “component“ for path: /login cannot be a string id.

Vue项目报错Uncaught Error: [vue-router] route config "component" for path: /login cannot be a string id.解决方案

2022-03-16 14:17:14 5669

原创 TypeError: this.getOptions is not a function解决方法

Vue中出现TypeError: this.getOptions is not a function解决办法

2022-03-16 10:51:17 2860

原创 Mixed spaces and tabs no-mixed-spaces-and-tabs解决方法

Vue中出现Mixed spaces and tabs no-mixed-spaces-and-tabs解决办法

2022-03-16 10:20:36 20269 6

原创 ‘XXX‘ is defined but never used解决方法

Vue中出现“**** is defined but never used”解决办法

2022-03-16 09:39:04 15626 2

原创 详解js继承

详解js继承提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录详解js继承前言一、预备知识1.构造函数的属性2.什么是原型对象3.原型对象的作用二、五种js继承方式方式1、原型链继承方式2、借用构造函数方式3、组合继承总结前言最近在复习准备面试题,这里记录一下关于js继承。一、预备知识1.构造函数的属性function A(name){ this.name = name; //实例基本属性(该属性强调私有 不共享) this.arr = [1]; //实例引用属

2022-03-15 23:20:17 1312 1

原创 MySQL数据库连接时报错Exception in thread “main“ java.lang.NullPointerException

在用java连接数据库时候报错了:Exception in thread “main” java.lang.NullPointerException我在网上看到也有不少人遇到这个问题,但是试遍了网上的解决方法,对我都不管用,记录一下我最终解决的办法,给大家一个参考一、Exception in thread “main” java.lang.NullPointerException这个报错表面的意思就是有空指针嘛,我看有一位老兄就的确是因为定义的数组没有new,然后他new一下就解决了,但是我的.

2022-01-03 09:16:21 2545

原创 顺序存储的线性表

一、实验目的1、掌握线性表的逻辑结构特征。2、熟练掌握线性表的顺序存储结构的描述方法。3、熟练掌握顺序表上各种基本操作的实现。二、实验内容1、设线性表的数据元素都为整数,存放在顺序表 S 中且递增有序。设计算法,将 x 插入到顺序表 S 的适当位置上,以保持线性表的有序性。2、线性表使用顺序表作存储结构,设计算法,仅用一个辅助结点,实现将顺序表中的结点循环右移 k 位的运算。3、设计算法,仅用一个辅助结点,实现将顺序存储的线性表中的数据元素逆置。三、实验指导1、本实验所有题目中的向量可以

2021-10-25 16:26:29 1189

原创 [HMR] Waiting for update signal from WDS...

Vue项目运行时控制台出现[HMR] Waiting for update signal from WDS…并且没有输出解决方法:打开node_modules/webpack/hot/log.js找到如下代码将其注释掉保存后控制台即可正常显示

2021-10-25 16:20:19 3689 1

原创 git branch后什么也不显示 没有任何反应

git branch后不显示本地分支的解决方法几天前安装了git 方法自取 -> git国内下载镜像今天拉取了一个项目自己写写看 然而第一步就遇到了问题git branch 后竟然什么都不显示解决方法:执行 git add .执行 git commit提示也就是需要登录一下,确认身份,但是不要按照其提示输入,先输入命令git config user.name “username”,换行输入git config user.email “email”3. 再次执行 gi

2021-10-19 22:00:44 9432

原创 vue创建项目报错:ERROR command failed: npm install --loglevel error

解决方法我的这个问题用第一个方法就解决了

2021-10-15 13:24:48 310

原创 git 国内下载镜像地址

学校的网是在是要吐了 github是一下都进不去 更别说是去官网下载git了在网上找了好久 终于找到了 国内能下载的地址试了一下还是很可靠的大家可以先去官网看一下要下载的版本 git官网然后在这里下载 git镜像地址安装的话就是无脑下一步恩就是这样...

2021-10-12 20:59:58 1936

转载 C语言程序自动生成文件名的模板代码

C语言程序自动生成文件名的模板代码这段代码的结果是建立一个名为File_5.dat的文件。这是一个非常简单的例子,但是在实际运用中可以有非常多的变化,很实用。//建立名为MyFile的文件指针FILE *MyFile;//建立名为CharsSaveFileName的字符数组用来存Myfile文件的文件名char CharsSaveFileName[255];//设置文件名不变的部分字符strcpy(CharsSaveFileName, "File_");//文件名可变化的部分用Var

2021-09-30 21:30:30 1217

原创 微信小程序 引用 vant-weapp时“miniprogram/node_modules/@babel/runtime/index.js: 未找到npm包入口文件” 解决办法

文章目录前言新手使用vant组件库的步骤1、从miniprogram打开终端,初始化npm2、安装vant组件库3、回到小程序开发工具里面顶部导航栏->工具->构建npm4、右上方详情栏勾选“使用npm模块”前言在微信小程序开发时必不可少需要引入外部组件库引,今天在用vant组件库时遇到了“找不到npm包入口文件”,怎么办?新手使用vant组件库的步骤1、从miniprogram打开终端,初始化npmnpm init这里一直回车回车回车即可,完成后我们miniprogram下面

2021-09-29 20:01:52 2132 1

基于Qt5的酒店安全监测系统【课程设计】

利用ZigBee将传感器结点采集的数据传到嵌入式实验箱,完成简单的酒店安全监测系统,包括温湿度数据、控制灯光及自动报警等功能。无数据库。

2021-08-01

空空如也

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

TA关注的人

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