自定义博客皮肤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)
  • 收藏
  • 关注

原创 解释型语言跨平台原因分析

相信大家有一个直观感受,当我们在运行解释型语言的时候,我们始终都需要源代码和解释器,所以它无法脱离开发环境。相比于编译型语言,解释型语言几乎都能够跨平台,可以做到“一次编写,到处运行”。解释型语言不需要编译,程序执行到了,解释器才会去解释对应的语句,所以更多的时间花费在了运行期间,但这类语言编写的程序的修改不需要经历漫长的编译过程,效果能够很快生效。由于没有经历编译过程,因此即便语法错误,也只能等到运行期间才会被发现。

2025-04-11 13:00:00 364

原创 函数作为返回值输出

实际上,函数当做返回值输出的应用场景也很多,也更能体现函数式变成的巧妙,让函数继续返回一个可执行的函数,意味着运算过程是可延续的。

2025-04-09 20:15:00 295

原创 进程的唤醒原语与挂起原语

如大家所了解的,当某个等待的事件已完成(如某个资源被释放),由完成该等待事件的进程调用唤醒原语,从而唤醒进程阻塞队里中等待该事件完成的阻塞进程。唤醒原语的基本功能是把除 CPU 之外的一切资源都得到满足的进程置为就绪状态,执行时,首先找到被唤醒进行的内部标识,让该进程脱离进程阻塞队列,并将其状态改为就绪状态,然后插入到进程就绪队列等待调度运行。

2025-04-08 19:00:00 448

原创 进程的创建态、运行状态和阻塞状态

进程运行中发生了某种等待事件(如发生了等待 I/O 的操作),而暂停不能运行的状态,处于该状态的进程不能去竞争 CPU,因为此时即使把 CPU 分配给它也无法运行。处于阻塞状态的进行可以有多个。当需要创建一个新进程时,系统为该进程分配一个进程控制块 PCB,并为该进程分配内存空间,且装入该进程对应的程序和有关的数据,这时,一个新进程就产生了。今天的文章分享就到这里了,希望对大家的学习有帮助!进程获得了 CPU 和其他所需的资源,目前正在 CPU 上运行,对单 CPU 系统而言,只能有一个进程处于运行状态。

2025-04-07 17:15:00 191

原创 几种常见的HTTP方法之GET和POST

缓存也是 GET 请求被广泛应用的根本,在现代网络上每天产生的请求数目是巨大的,并且其中大部分请求均为只读请求,如果所有这些请求都要交由 Web 服务器直接处理,这无疑是巨大的资源浪费。GET 是一种幂等的、安全的操作,它除了返回结果不应该会产生其他副作用,因此绝大部分 GET 请求都可以直接被 CDN 缓存,这能大大减少 Web 服务器的负担。而 POST 是非幂等的、有副作用的操作,所以必须交由 Web 服务器处理。POST:向指定资源提交数据进行处理,可能会导致新的资源的建立或已有资源的修改。

2025-04-06 18:00:00 452

原创 ES6对函数参数的新设计

以前的 arguments 变量也有类似的作用,但是 arguments 不是真正的数组,除了存放参数的列表外,arguments 还有 length 属性,严格来说 arguments 是一个类数组对象,而不定参数则是一个完全的数组,这也是不定参数相对于 arguments 的优势,更加方便我们使用,所以建议使用不定参数来代替 arguments。不定参数和扩展参数可以认为恰好是相反的两个模式,不定参数是使用数组来表示多个参数,扩展参数则是将多个参数映射到一个数组。

2025-04-02 09:56:51 537

原创 JavaScript单例模式

单例模式的核心思想是让指定的类只存在唯一一个实例,这意味着,当第二次使用相同的类去创建对象的时候,得到的应该是和第一次创建的是同一个对象。单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。

2025-04-01 12:49:36 330

原创 影响HTTP网络请求的因素

建立连接:HTTP 是基于 TCP 协议的,浏览器最快也要在第三次握手时才能捎带 HTTP 请求报文,达到真正的建立连接,但是这些连接无法复用,会导致每次请求都经过三次握手和慢启动,三次握手在高延迟的场景下影响较为明显,慢启动则对文件类的请求影响较大。浏览器阻塞:浏览器会因为一些原因阻塞请求,浏览器对于同一个域名,同时只能有4个连接(这个根据浏览器内核不同可能会有所差异),超过浏览器最大连接数限制,后续请求就会被阻塞。影响HTTP网络请求的因素有两个。

2025-03-31 11:45:12 472

原创 Content-Type设置内容类型

Content-Type 设置内容类型,一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。Content-Type 用于定义用的浏览器或相关设备如何显示将要加载的资源,或者如何处理将要加载的数据,此属性的值可以查看媒体格式类型,即 MIME 类型。MediaType,即是 Internet Media Type,互联网媒体类型,也叫做。

2025-03-30 20:16:32 809

原创 异步转同步,实现一个消息队列

有一个场景,需要实现一个消息队列,要求 1,3,4 秒后,依次打印 1,2,3,如下:其实考察的是怎么用同步的方式实现异步。本文总结了四种方式实现:常规嵌套、promise、async/await、generator代码不一定很完美,只是提供一种解题思路。

2025-03-29 18:40:07 246

原创 JavaScript中闭包的使用

但是注意这里的特点在于返回值是一个匿名函数,且这个函数中具备了访问 local 的条件,虽然在后学的执行中 ,在外部作用域中还是无法直接访问 local,但是若要访问它,只要通过中间函数稍作周转即可。实际上,闭包是 JavaScript 的高级特性,利用它可以产生很多巧妙的效果,它的问题在于,一旦有变量引用了这个中间函数,这个中间函数将不会被释放,同时也会使原始的作用域不会得到释放,作用域中产生的内存占用也不会得到释放,除非不再有引用,才会逐步释放。

2025-03-28 12:24:45 262

原创 Scavenge算法的优缺点问题

Scavenge 的缺点是只能使用堆内存中的一半,这是由划分空间和复制机制所决定的。但 Scavenge 由于只复制存活的对象,并且对于生命周期短的场景,存活对象只占少部分,所以它在时间效率上有优异的表现。由于 Scavenge 是典型的牺牲空间换取时间的算法,所以无法大规模的应用到所有的垃圾回收中,但可以发现,Scavenge 非常适合应用在新生代中,因为新生代中对象的生命周期较短,恰恰适合这个算法。实际使用的堆内存是新生代中两个 semispace 空间大小和老生代所用内存大小之和。

2025-03-27 21:04:21 270

原创 JS中二维转一维方法

今天的文章就分享到这里,希望遇到同样问题的小伙伴,能很快运用去解决哦~

2025-03-26 14:00:35 340

原创 常见杀毒软件及防火墙关闭方法

最好,关闭防火墙之后下一步(也是最重要的一步就是关闭电脑的实时扫描)打开电脑设置,找到Windows的更新与安全(win11的名称可能不同但总的就是windows安全中心所在的位置)打开windows防护中心,点击管理设置,之后打开关闭所有的按钮尤其是实时扫描。众所周知,我们在安装某些软件时,常常需要关闭杀毒软件、防火墙等,以确保激活工具不被清理,从而导致安装失败。首先,打开控制面板,找到系统与安全,点击进去,找到Windowns Defesnder防火墙;对于杀毒软件,我们只需要找到,然后退出一下即可。

2025-03-26 10:49:49 1887

原创 ElementUI dropdown触发显示时阻止事件冒泡

我们设法一个场景:如果el-tree自定义节点包含el-dropdown,为了防止点击el-dropdown的触发按钮而执行el-tree的node-click事件。图片中的代码,可以复制下来去用。好了,今天的文章就到这里了,还有疑问的话可以留言一起探讨哦~最外层添加div,给div绑定事件并添加事件修饰符(stop)

2025-03-25 18:46:05 550

原创 运用JS获取当前月份的第一天和最后一天

好了,今天的文章分享就到这里了,希望对大家的学习有帮助哦~

2025-03-25 13:05:12 377

原创 ElementUI表格展开属性

今天的文章就分享到这里,希望遇到同样问题的小伙伴,能很快运用去解决哦~

2025-03-23 21:13:19 284

原创 Vue响应式数据丢失的可能原因

碰到响应式数据丢失,无外乎以下几种可能性:直接修改对象的属性、修改数组索引、替换整个对象或数组、在计算属性中修改响应式数据。好了,今天的文章分享就到这里了,希望对大家的学习有帮助哦!

2025-03-17 18:19:50 275

原创 JS prototype与__proto__的联系和区别

prototype 与 __proto__ 都指向原型对象,任意一个函数(包括构造函数)都有一个 prototype 属性,指向该函数的原型对象;任意一个构造函数的实例化对象,都有一个 __proto__ 属性,它指向构造函数的原型对象。

2025-02-13 18:14:04 544

原创 如何在Mac中配置环境变量

查看根目录下是否有 .bash_profile 文件,如果没有,使用一下命令创建一个 .bash_profile 文件。查看根目录下是否有 .zprofile 文件,如果没有,使用一下命令创建一个 .zprofile 文件。

2025-01-10 15:55:21 359

原创 Vue生命周期的执行顺序

如大家所了解的,在单一组件中,钩子的执行顺序是 beforeCreate -> created -> beforeMount -> mounted -> …... -> destroyed,但当父子组件嵌套时,父组件和子组件各拥有各自独立的钩子函数,这些父子组件的这些钩子是如何交融执行,且执行顺序又是怎样的呢?

2025-01-08 17:49:06 204

原创 如何在Vue中设置浏览器标签栏图标以及title

好了,今天要分享的知识就到这里了,希望对大家有帮助哦!

2025-01-06 18:09:07 367

原创 熟悉v-model的特殊用法

但在某些特殊情况下,我们也可以将 v-model 用于父子组件之间数据的双向绑定(在组件上使用 v-model)。如大家所了解的,一般情况,咱们使用 v-model 主要是用于数据的双向绑定,可以十分方便的获取到用户的输入值。

2025-01-06 08:26:55 233

原创 单项数据流的定义

父组件可以向子组件传递数据,并且改变子组件的值,而子组件不能改变父组件传递给它的 prop 属性,官方推荐的做法是子组件抛出事件,通知父组件自行改变绑定的值。v-model 做法完全符合单项数据流。甚至于,它给出了一种在命名和事件定义上的规范。单向数据流:总结起来其实也就 8 个字:数据向下,事件向上。众所周知 .sync 修饰符是单向数据流的另一个典型范式。

2025-01-02 15:15:02 158

原创 Vue v-model 的原理

我们可以用 v-model 指令在表单 <input>、<textarea> 及 <select> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。2、v-on 绑定 input 事件监听到函数中,函数会获取最新的值赋值到绑定的属性中。1、v-bind 绑定 value 属性的值;v-model 的原理其实是背后有两个操作。

2024-12-31 17:40:24 140

原创 Promise.prototype.then()的用法案例

采用链式的 then,可以指定一组按照次序调用的回调函数。这时,前一个回调函数,有可能返回的还是一个 Promise 对象(即有异步操作),这时候后一个回调函数,就会等待该 Promise 对象的状态发生变化,才会被调用。then 方法返回的是一个新的 Promise实例(注意,不是原来那个 Promise 实例)。Promise 实例具有 then 方法,也就是说,then 方法是定义在原型对象 Promise.prototype 上的,

2024-12-27 17:49:51 180

空空如也

空空如也

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

TA关注的人

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