自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 罗翔:曲木难直,心偶为愚(节选)

苏格拉底说,未经审视的人生不值一过,只是很多人不愿意审视自己,但总愿意审视他人。如果不相信世上存在正直,自然也就无需反省自己,只需要以批评他人来谋取利益,或者掩饰自己内心的不堪。美好的文字,也许只是作者内心理性一面的反应,它往往掩饰了作者内心的欲望和激情因此永远不要因为一个人能够写出优美的文字而对其德行抱有不切实际的期待。法制的前提,就是对人性不做乐观主义的期待,任何人都要受到法律的约束,因为人性并不可靠,尤其当我们从事一份看似崇高的事业,我们就必须认识到自己的本性依然有幽暗的成分。

2024-01-18 17:23:12 503

原创 由JavaScript中“this“想到的函数作用域问题

/类似的for,while循环语句中也有这个问题。

2023-11-24 18:14:50 76

原创 JavaScript中普通函数和箭头函数区别和联系

一般是全局对象,被普通函数包含指向上一层,而普通函数要考虑到this指向不定的问题 //这也是设计箭头函数的主要原因之一,来创建构造函数的实例,而箭头函数不行;箭头函数写法上简单,而且在参数只有一个的时候可以不添加小括号,后方只有一个表达式的时候可以不添加大括号。,普通函数可以通过调用上述方法修改this值,而箭头函数不可以通过以上方法修改this值。变量,而普通函数有,用来进行复用,实现更灵活的操作;不能为箭头函数命名,因为箭头函数是。箭头函数:( ) => { }普通函数和箭头函数都可以使用。

2023-11-24 16:20:58 64

原创 JavaScript中Promise的有趣理解

做项目时候老听同事说Promise和PromiseAll啥的,大家代码里虽然也有涉及,但是因为写法七七八八,到底我也没弄出来什么规律,于是仔细分析了下,借鉴了网上一些伙伴的文章和视频。基本流程如图:一个Promise有最基本的两个结果,resolve&reject;In a word,这样记忆Promise是不是就简单多了。若能正确发送并返回请求,会显示以下图片,一只可爱的卡皮巴拉。,那么这块也有必要总结一下,等之后的吧)若未能正常发送并返回请求,则显示。,reject理解成。

2023-11-24 10:43:19 313

原创 JavaScript中Fetch API相关问题记录

c.fetch API通过数据流(Stream 对象)处理数据,可以分块读取,有利于提高网站性能表现,减少内存占用,对于请求大文件或者网速慢的场景相当有用。由于一次HTTP请求对应一个页面,那么通过AJAX请求我们可以让用户停留在当前页面中,同时发出新的HTTP请求,通过JavaScript发送这个新请求且接收到数据后,再用JavaScript更新页面,这样用户就感觉自己仍然停留在当前页面,但数据却可以不断地更新。),使得代码易读性变差(嗯,都不想读了),因此为了解决回调地狱,我们可以优化写法。

2023-11-23 21:12:13 43

原创 React中useEffect hook的用法小结(三)

innerWidth 返回窗口的文档显示区的宽度,如果有水平滚动条,也包括滚动条高度。注:innerHeight 返回窗口的文档显示区的高度,如果有垂直滚动条,也包括滚动条高度。综合前几篇,我们大概知道了useEffect的用法,之后要多实践才能发现更多的问题。于是我们更改窗口宽度,再刷新页面,表现宽度的数值才会跟着改变。但是不能一直监听,当组件销毁的时候,需要移除监听,不然影响性能。再设定一个场景,使用。

2023-11-23 17:15:03 30

原创 React中useEffect hook的用法小结(二)

2.然后为了实现每次点击不同的button,页面都要更新并渲染的机制,我们引入useEffect函数,并将其中的一个参数设定为resourceType,即函数的因变量,用以实现每次改变resourceType时,执行useEffect函数体(同样如果其中一个参数为空数组,那么代表我们无论改变什么,都不会进入useEffect函数体);:严格模式会在渲染两次组件并比较结果后,触发额外的渲染以帮助你检测潜在的副作用问题。在严格模式下,React 的开发环境会刻意执行两次渲染,用于突出显示潜在问题。

2023-11-23 16:23:32 24

原创 React中useEffect hook的用法小结(一)

初识useEffect,我只知道它可以理解为副作用,但是它又是谁的副作用呢?搞不清楚这个问题基本上就没法用好useEffect hook了。

2023-11-22 22:50:05 40

原创 在MongoDB中创建Database以及插入Document

BSON:( Binary Serialized Document Format) 是一种二进制形式的存储格式,采用了类似于 C 语言结构体的名称、对表示方法,支持内嵌的文档对象和数组对象,具有轻量性、可遍历性、高效性的特点,可以有效描述非结构化数据和结构化数据。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。//点击tab,提示有多种insert方式。

2023-11-09 16:57:39 194 1

原创 Node.js连接MongoDB数据库

有关MongoDB数据库的安装就暂时略过了,需要提及的是,在MongoDB的基本安装完成之后,它是没有GUI界面的,于是我安装了一个叫MongoDBCompass的GUI工具(也可以完全不安装,按个人需求来)然后在nodejs下安装mongodb的包(有好多种供我们选择的包,具体可以去npm官网搜索关键字mongodb),例如以下两种中的任意一种;首先我们要确认我们的MongoDB本地是连着服务器端的:windows系统进入terminal(cmd),然后输入命令:---mongod。

2023-11-07 21:22:19 155

原创 如何用纯CSS绘制三角形

当对一个文档进行布局(layout)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒子(box),即内边距,清除内容周围的区域,内边距是透明的,取值不能为负,受盒子的 background属性影响。,即边框,围绕元素内容的内边距的一条或多条线,由粗细、样式、颜色三部分组成。,即外边距,在元素外创建额外的空白,空白通常指不能放其他元素的区域。(IE的暂时省略,毕竟现在用的也不多了)我们这里讨论的主要是。

2023-11-06 13:57:41 35

原创 C语言的补课(三)

其中,printf()是C语言的内置函数,但是只有在前面加上#include <stdio.h>时才能识别出是C语言中我们想要的"打印"功能;之后出现以下弹出框,选择Yes,和下面的“不要再骚扰我”,这样下一次再打开Code::Blocks时就不用每次设定特定的编译器和其他小属性等等了,可以直接使用并编写代码了。点击OK后,出现以下弹出框。安装完Code::Blocks之后,打开Code::Blocks,选择windows默认的编译器。于是我们再次打开Code::Blocks,可以开始写C语言代码了。

2023-11-05 22:20:53 37 1

原创 C语言的补课(二)

然后"Next"选择安装目录,然后安装;中途他会问我们要不要执行Code::Blocks,暂时选No就可以,然后等待安装完毕,点击。注:我在安装这个软件的时候输入法遇到了点问题(半角/全角切换的问题),那么本次笔记就记到这里,我要重启一下电脑了,下回再见!上次的笔记我记录到了安装Code::Blocks作为C语言的IDE,这次来记录下具体安装过程。2)根据自己的系统来选择对应的安装包,例如,我的系统是。3)安装包下载完毕后,打开安装包,开始一步一步安装。选Minimal,先不用全部安装。

2023-11-05 11:52:34 38 1

原创 C语言的补课(一)

我不知道我还有没有机会回到凌水河了,不过我可以逐渐肯定的是,从那里出来的人正在不断改变着,或许是顺应着时代、或许他们本身就是那个样子的。不过后悔是没有用的,我应该把它当作一次教训,也就是要抓住年轻的时光,趁着自己还有旺盛的精力之时,努力完成自己内心的“理想”。附录:提到C语言,感觉一下子就回到了七年前,那时除了我们专业的同学之外,剩余学院的同学几乎都修了C语言,“也许这门课是真的如此重要吧”,我想。那个时候,似乎有上不完的选修课、考不完的必修课考试、跑不完的两千米,那是充实又快乐又偶有迷茫的一段时光。

2023-11-04 23:18:13 31 1

原创 插入排序(Insetion Sort)

1. 时间复杂度:最坏情况下,插入排序的时间复杂度为O(n^2),其中n是要排序的元素数量。最好的情况下,如果数组已经几乎排序好了,时间复杂度可以降低到O(n)。玩家将抽到牌后,将牌按照从小到大或从大到小的顺序排序,抽到一张牌,牌面如果不是最大或者最小,那就将其插入到相应的位置,使其符合牌面顺序或逆序的规则。需要注意的是,尽管插入排序对于小型数据集是一个简单且高效的排序算法,但对于较大的数据集,它的效率会较低。2. 空间复杂度:插入排序的空间复杂度为O(1),因为它只需要常量级的额外空间来存储临时变量。

2023-11-03 10:56:51 29

原创 选择排序(Selection sort)

在每一步中,算法都会找到剩余数组中的最小元素,并将其放置在已排序部分的末尾。这样,经过一系列的迭代,整个数组会被排序。选择排序的时间复杂度为O(N^2),稳定性不是很好,在遇到非常大的数据集的时候不太试用。2)然后再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾;1)首先在未排序序列中找到最小(大)元素,存放在排序序列的起始位置;3)以此类推,直到所有元素均排序完毕。下面用JavaScript来实现一下。选择排序是一种简单直观的排序算法。

2023-11-01 22:21:13 27 1

原创 Socket基本知识

常见的技术包括WebSocket和Socket.io等,它们提供了便利的API和工具,使得在前端中实现Socket通信变得更加容易。在计算机网络中,有许多不同类型的Socket,例如流Socket和数据报Socket。流Socket提供一种可靠的连接,确保数据按照顺序传输并不丢失,而数据报Socket则更适用于快速、短小的消息传递,但不能保证数据传输的可靠性。实时数据更新:在需要实时更新数据的应用中,Socket可以用于向客户端推送最新的数据,确保用户始终能够看到最新的信息,而无需手动刷新页面。

2023-11-01 00:48:55 27 1

原创 Js中event.preventDefault()方法

当时我想,于是搜了一下各种资料,发现event.preventDefault()是用来阻止元素发生默认的行为的一种方法,比如阻止默认表单提交,阻止跳转到默认的url。以上就是有关event.preventDefault()方法的总结啦,希望能给你带来一点帮助。这个方法是我在使用原生js编写“表单提交”部分的代码时,发现并学习到的方法。参数事必需的,且参数来自事件绑定函数。而我想要的就是后者的效果。该方法不支持IE浏览器,

2023-10-30 20:41:05 332 1

原创 Js中DOM事件和DOM事件监听

第三个参数是布尔值,指定使用事件冒泡还是事件捕获,此参数为optional(关于冒泡还是捕获,之后会单独拿出一篇笔记来记录)DOM属性:无法同时进行多个事件处理程序,后面的程序会覆盖前面的程序。HTML元素属性:不好,html和js混合在一个文件里,不好管理。注意:第一个参数是"click",而不是“onclick”以用户点击鼠标的onclick事件为例,一般经历。其中,第一个参数是事件类型,例如"click"第二个参数是事件发生时我们需要调用的函数。方法,该方法会删除已通过。

2023-10-29 09:30:00 190 1

原创 冒泡排序(Bubble Sort)

step 1:比较第一个和第二个数字,将大的数字放后,小的放前。目前原数组中的前两个数字已经符合该规则,因此原数组暂时保持不变;大概可以这样理解,我们有一个含有五个数字的数组,最终想要数组中的数字按照从大到小的顺序进行排序。step 3:比较第三个和第四个数字,发现15>3,因此调换位置,原数组变为。step 4:比较第四个和第五个数字,符合规则,因此保持step3的数组不变。step 2:比较第二个和第三个数字,也符合规则,继续保持不变;实现冒泡函数的关键就是你要比较几趟,每一趟要比较几次。

2023-10-28 17:16:54 28 1

原创 如何将json格式的数据导出成excel文件

这类的包处理Excel文件是双向的,它可以将Excel转换成多种格式,如json、csv、text、html等,反过来也可以根据一定数据格式生成Excel文件。我们要设计一个button,通过点击button,导出(下载)一个excel文件,该excel文件需要获取系统内的某些特定字段。这个强力推荐,有中文文档,接口类型很多很全。2.安装成功后在指定文件,例如excel.js引入。将json格式的数据导出成excel文件。未完待续···我知道我该去看源码了。,这里有以下两个推荐使用的。

2023-10-27 21:46:09 986 1

原创 Js中 Math方法总结

/这样就有10个可能的值(1~10),其中最小的值是1。Math.random()方法返回一个0~1范围内的随机数,包含0但不包含1。Math.fround() //返回数值最接近的单精度(32位)浮点值表示。Math.ceil() // 始终向上舍入为最接近的整数。Math.floor() //始终向下舍入为最接近的整数。Math.round() //执行四舍五入。二.min() max()

2023-10-26 08:00:00 142

原创 JavaScript中常用的一些方法总结---字符串

slice() //接收一到两个参数,该方法的概念也类似python中的slice切片,返回一个新的数组对象,这一对象是由start和end决定的原数组的浅拷贝(包括start,不包括end)indexOf() 和 lastIndexOf() ,从字符串中搜索传入的字符串,并返回位置(如果没找到,则返回-1)。repeat()方法构造并返回一个新字符串,其中包含指定数量的所调用的字符串副本,这些副本连接在一起。从字符串的两端移除空白字符,并返回一个新的字符串,且并不会修改原始字符串。

2023-10-25 15:50:00 31 1

原创 Docker基本知识

Docker是一种容器化技术,它能够将应用程序及其依赖项打包到一个独立的容器中,从而使得应用程序不依赖所在的基础设施和运行环境。便携性:Docker容器可以在任何支持Docker的环境中运行,这样在不同的开发、测试和生产环境中使用相同的镜像和容器,有利于DevOps的实践。轻量化:Docker容器是轻量级的,只包含应用程序及其依赖的库,因此相对于传统的虚拟化技术来说,它更加节省资源。Docker仓库:Docker仓库是存储Docker镜像的地方,可以是本地仓库或公共的Docker Hub。

2023-10-25 09:45:00 19 1

原创 JavaScript DOM初理解

图1-1 js入口文件 index.js图1-2 浏览器显示界面图1.3 DOM树4.使用css选择器 .quertSelector() .querySelectorAll()例如://选中指定元素//改变颜色以上四种方法都可以通过document对象调用。

2023-10-25 08:00:00 19 1

原创 如何自己发布一个简单的NPM包

1.去NPM官网注册一个账号。注意:密码至少十位、通过人机认证和OTP2.注册成功后登录,右上角可看见自己发布的package3.开始编写自己的模块4.在项目文件夹路径登录5.登录成功之后,运行npm publish后,发布成功,同时会收到一封题为发布成功的邮件6.再次进入NPM官网中个人页面的package section,可以看到自己刚刚发布的package7.验证

2023-10-24 10:27:57 161

空空如也

空空如也

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

TA关注的人

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