此名字暂不可见
No distraction,it's you and me

Cypher's Blog

Welcome to my Blog!
Vite
Vite前言 `王的决斗总是快人三步` ​ ——杰克•阿特拉斯 Vite(法语意为 “快速的”,发音 /vit/,发音同 “veet”)是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成: 一个开发服务器,它基于 原生 ES 模块 提供了 丰富的内建功能,如速度快到惊人的 模块热更新(HMR)。 一套构建指令,它使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资 ...

Webpack
webpack本质上,webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个 依赖图(dependency graph),然后将你项目中所需的每一个模块组合成一个或多个 bundles,它们均为静态资源,用于展示你的内容。 ​ ——webpack中文文档 为什么需要webpack以html文件为例,如果要导入JS文件,一般是这样导入: 12<script src="module-app1.js"></script> ...

前端笑笑转之性能优化
一. 引言​ 性能优化一直前端老生常谈的问题。所以性能是指网站内容在网页浏览器中的加载和渲染速度,以及对用户交互的响应。性能优化,就是让页面有着更快的加载速度,更流畅的用户交互以及更低的资源占用。让用户觉得用的舒服,以便后续继续使用你的产品。 ​ 从输入URL到页面加载完成,中间发生了什么 ​ ——小林coding ​ 这是一个很重要的问题,因为它非常的重要。 ​ 当我们在浏览器的导航栏中输入URL之后,我们需要通过 DNS将 URL 的域名解析为对应的 IP 地址,然后通过这个 IP 地址与服务器建立起 TCP 连接,随后我们向服务端抛出我们的 HTTP 请求 ...

zustand
Zustand1.序:​ 在 React 中,“状态管理”是指管理组件之间共享的数据状态的方式。简单来说,就是: 让组件知道数据的来源,并在数据发生变化时正确地更新 UI。 ​ 但是,如果组件结构非常的复杂,单靠useState和props就不够用了。因此,我们需要一些额外的工具来帮助我们管理状态,比如Zustand。 2.为什么要用Zustand:​ 很简单,因为它简单好用😋: 2.1 **简单的API **:​ Zustand 只需要一个 create 函数来创建状态,不需要 reducer、action、dispatch、middleware 等复杂概念。 12345678impor ...

http与WebSocket
1. http1.1 什么是http:​ http,即超文本传输协议,是TCP/IP协议集中的一个应用层协议,是客户端与服务端进行交互时必须遵循的规则。它用于Web浏览器与Web服务器之间交换数据的过程以及数据本身的格式,底层则是靠TCP进行可靠地信息传输。 附:除了http,我们经常能够看见https。https不是http的复数,而是在http的基础上进行了加密工作,具体在后文进行介绍。 1.2 http如何工作:​ 在浏览器的上方,有一个地址栏。如果我们在其中输入一个URL,浏览器就会给对应的服务器发送一个http请求,当服务器收到这个请求之后,就会进行处理,然后返回一个htt ...

闭包,垃圾回收和内存泄露
一 . 闭包1.什么是闭包:​ 什么是闭包?引用JS书中的定义,当一个函数能够记住并且访问其所在的作用域,即使这个函数是在作用域之外被执行的,这就是闭包。 123456789function a() { let a = 1 // a 是一个被 a 创建的局部变量 function b() { // b 是一个内部函数 console.log(a) // 使用了父函数中声明的变量 } return b}let c = a()c() //1 这就是闭包 ​ 在a() 函数中声明了一个私有变量 a , b() 函数是 a ...

作用域链与执行上下文
1. 作用域和作用域链1.1 什么是作用域​ 根据MDN的定义,作用域是当前的执行上下文(下面在讲),值和表达式在其中“可见”或可被访问。如果一个变量或表达式不在当前的作用域中,那么它是不可用的。作用域也可以堆叠成层次结构,子作用域可以访问父作用域,反过来则不行。 ​ 简单来说,作用域就是限制一个变量在程序中的使用范围。也就是说作用域最大的用处就是隔离变量,不让变量泄露出去,不同作用域下同名变量不会有冲突。 1.2 js中的作用域模型​ 在js中,采用的是词法作用域(在书里看到这个词感觉很高深啊),也称为静态作用域。与之相对应的还有一个动态作用域。 词法作用域:函数的作用域在函数被定义是就决 ...

react Hooks
react hooks1.什么是Hooks​ Hook是一些让你在不使用class的情况下使用state以及其他的react特性的函数。它允许你在函数组件里“钩入”React state等特性。不过,Hook不能再class中使用–你也没必要再使用class。 2.为什么要使用Hooks Hook允许你在非class的情况下使用更多的React特性。 Hook使你在无需修改组件结构的情况下复用状态逻辑。 Hook将组件中相互关联的部分拆分成更小的函数。 3.一些常见的函数1.useState​ 在useState()中,它接受状态的初始值作为参数,并返回一个数组,其中数组的第一项为一个变量 ...

硬绑定方法
前言​ 在JavaScript中,this的指向分为软绑定和硬绑定。其中,在对象调用其内部方法时,this指向它的调用者,这就是软绑定;而硬绑定就需要用到JavaScript的内置方法call/aplly/bind了实现了。 1.call​ call()方法会将this指向传入的第一个参数,并且可以接受多个参数 12345678910111213141516 console.log(this); function who(){ console.log([this.name,this.dialogue]); console.lo ...

这是标题
第一次写博客,文笔有点烂,也不知道要说些什么,各位见谅一下吧😋 1. js执行机制1.1 小谈一下​ js是一门单线程语言,执行程序就像在食堂吃饭排队,必须一个一个来。这样看上去充满秩序,但在面对像定时器这样需要等待处理的任务时就会卡住,这就好比你在做饭时需要煮饭洗菜炒菜,而你必须等煮完饭才能去洗菜炒菜,这期间你什么都干不了。这样相当浪费时间,因此js将任务分为了同步和异步两种类型。 1.2 同步​ 所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。 举个小例子:你是一名CCNU的学生。有一天,你想改善伙食,但无奈捉襟见肘。于是你给你家人打了个电话,只要 ...