编程技术
未读
浏览器渲染主线程与队列
浏览器的进程模型 要了解事件循环概念我们要先了解浏览器的进程模型。 浏览器的进程模型是指浏览器在执行任务时如何划分和管理进程,以实现页面渲染、网络请求、插件处理等功能。不同的浏览器使用不同的进程模型来优化性能、增强安全性和提高稳定性。 1. 单进程模型 在早期浏览器(如最早版本的IE浏览器)中,所有
编程技术
未读
cjs、esm、umd模块有何不同
cjs (commonjs) commonjs 是 Node 中的模块规范,通过 require 及 exports 进行导入导出 (进一步延伸的话,module.exports 属于 commonjs2) 同时,webpack 也对 cjs 模块和 esm 模块都得以解析,因此 cjs 模块可以运
编程技术
未读
js 为什么不支持函数的重载
首先声明:这里所指的JavaScript 不支持函数的重载,指的是严格意义上的函数重载 JavaScript 不支持函数重载,主要原因在于它的函数是动态和弱类型的关系。 1. 动态类型系统 JavaScript 是一种动态类型的语言,即函数参数的类型在运行时才确定。在其他支持重载的语言(如 Java
踩坑实录
未读
1panel - 使用OpenResty反向代理配置支持SignalR
博主有个项目需要使用了SignalR需要使用https 进行连接,于是乎就顺手拿起了https://1panel.cn/ 一顿操作,最后开启了客服端进行连接,然后发现有的时候可以连接,但是接收不到消息也发送不了消息,有的时候连连接都连接不上。 于是乎我发现了,事情可能并不这么简单,秉承着虽然我不会配
编程技术
未读
那些你不知道的js-卷三
前言 前两卷我们都介绍的一些比较奇特又比较好玩的示例,这期我们讲的相对来说就属于比较基础的部分了。 1. 块内部的声明提升 // for
for (var i=0; i<10; i++) {
// console.log( i );
}
console.log(i);
// if
if(tr
编程技术
未读
那些你不知道的js-卷二
1. 奇特的 ~ 运算符 它首先将值强制类型转换为 32 位数字,然后执行字位操作“非”(对每一个字 位进行反转)。这与 ! 很相像,不仅将值强制类型转换为布尔值 <,还对其做字位反转。 ~x 大致等同于 -(x+1)。很奇怪,但相对更容易说明问题: ~42; // -(42+1) ==> -43
那些你不知道的js-卷一
1. 特殊类型 因为typeof null === "object"因此我们需要使用复合条件来检测 null 值的类型 var a = null;
(!a && typeof a === "object"); // true 还有一种情况: typeof function a(){ /* .. */
编程技术
未读
Proxy比Object.defineProperty到底好在哪?
大家都知道,从 Vue 3 开始,双向绑定机制从 Object.defineProperty 转换成了 Proxy ,但很少有人去问为什么,本着学习前端知识又可以水一篇文章的想法,于是我又开始水了一篇文章。 1. 性能和灵活性 Vue 2 使用 Object.defineProperty 为对象的每
生活随笔
未读
独立博客自省问卷15题
偶然看到一片文章https://www.mrhe.net/study/1410.html,想着折腾博客这么多年也没怎么仔细回顾一下,趁着着这个契机,我也来一份。 1、你的博客更新频率是多少? A. 每周更新
编程技术
未读
alova.js 与 axios 的两者的区别
前言 Alova.js 和 Axios 都是用于发起 HTTP 请求的 JavaScript 库,但它们的设计目标和功能侧重点有所不同。本文将对两者之间比较明显的区别和使用场景进行简单介绍 基本介绍 Alova.js Alova 是一个新兴的 HTTP 请求库,专注于灵活的请求管理、缓存和自动化的数

