关于近期个人网站变更调整
关于本博客的调整及更新记录
JavaScript的大山:闭包和作用域链
执行上下文 所谓的程序其实可以理解为对变量的读写操作,因此便会产生一个问题:变量从哪来?执行上下文可分为两种:全局执行上下文和函数执行上下文。 从广义上来说,执行上下文由Lexical Environment和This binding构成。 Lexical Environment翻译成中文即词汇环境,而This Binding则指的是当前执行上下文中的this指向 全局执行上下文 这是一个最基础的上下文环境,其组成部分包含:全局对象(在浏览器中即Window对象)、全局Scope和outer。 在该作用域中,outer为null。因为他是为后边函数执行上下文所服务的。 浏览器中,全局执行上下文中的this指向Window对象。 构建执行上下文 执行上下文的创建是在,代码执行之前完成创建的。例如: 处理声明 检查重复定义 scope中如果存在重复声明,则抛出错误。但全局对象中可以重复。 创建绑定 对变量进行初始赋值。 var声明会将变量初始值赋值为undefined 函数声明会创建函数对象,然后将变量指向该对象 函数对象是一个很特殊的对象: 有一个特殊的p ...
聊一聊个人生产力中的那些 APP
前言 此文主要介绍个人生产力中的一些常用 APP,包括但不限于开发工具、效率工具、学习工具等等。 此文中介绍的大部分内容都是基于 MAC 平台和 IOS 平台,如果你使用的是 Windows 或者 Android,那么可能有些 APP 无法使用,但是部分 APP 都是跨平台的,所以你可以在 Windows 或者 Android 平台上找到类似的 APP。 开发工具 以下工具排名不分先后顺序。 名称 描述 是否跨平台 vscode TS 项目的主要工具 ✅ webstorm 这款软件主要是工作中写一些 JS 项目 ✅ Navicat Premium 主要用于链接 MySQL 数据库 ✅ MongoDB Compass 听名字就能知道这是链接 mongodb 数据库的工具 ✅ Medis 链接 redis 数据的一款工具 ❌ Docker 主要是用于一键启动数据库和 Nginx 服务 ✅ WindTerm 用于链接云服务器 ✅ Termius 用于链接云服务器 ✅ Tabby 用于链接云服务器 ✅ Warp 本地的终端,因为懒得折腾 I ...
浏览器中的事件循环(Event Loop)机制
什么是事件循环(Event loop),浅谈浏览器事件循环,一文带你了解什么是浏览器中的事件循环机制;通过代码帮你梳理事件循环是如何进行循环的。
使用pnpm创建一个monorepo仓库
关于monorepo 简单来说monorepo就是将多个项目(有关联)放到一个仓库,其好处最明显的就是解决代码复用的问题和开发流程的统一。 至于更多关于monorepo管理方式,网上也有很多文章介绍,此文的主要目的是记录一下初始化过程。 创建项目 新建目录并初始化(项目名以kklearn为例) 1pnpm init 接下来在生成的package.json文件中写入字段来限制使用pnpm等 1234567891011121314151617{ "name": "kklearn", "version": "1.0.0", "description": "", "private": true, "engines": { "node": ">=16", "pnpm": ">=7" } ...
JavaScript中的原型链到底是什么
原型链是什么,浅谈原型链,一文带你了解什么是原型链
一文搞懂网格grid布局
什么是网格布局 网格布局能够将网页划分成一个个网格,亦可以组合任意不同的网格。 grid布局是二维布局,而flex布局则是一维布局。grid将容器划分为行和列,产生单元格,通过指定项目所在的单元格。 定义网格布局 定义网格布局很简答,通过display即可设置。 不过与flex布局不同的是,单纯的设置后是无效果的,需要同样为其设置网格布局属性才可以看到效果 gridinline-grid容器内部设置为网格布局,容器为块级元素 123div{ display: grid;}容器内部设置为网格布局,容器为行内元素 123div{ display: inline-grid;} 网格布局属性 列宽和行高 定义列宽grid-template-columns和行高grid-template-rows用于规定单元格的大小。(类似于width和height) 12345678.container { /* 定义网格布局 */ display: grid; /* 定义三列网格,宽度为200px */ grid-template-c ...
个人图床的最终抉择
谈一谈我的个人图床的解决方案
初识vue3之无限滚动
vue3中自定义无限滚动指令与无限滚动组件的封装