自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习前端这门手艺,栈底到栈顶依次是:浏览器架构、Web 网络、事件循环机制、JavaScript 核心、V8 的内存管理、浏览器的渲染流程、Web 安全、CSS、React、Vue、Node、构建工具链等

【Uncle Kaimo's Cabin - 凯默叔叔的小屋】:https://kaimo313.github.io/uncle-kaimo-cabin/#/【卡夫卡的岛上书店】:https://kaimo313.github.io/blogs/

  • 博客(784)
  • 资源 (1)
  • 收藏
  • 关注

原创 【30 天 JavaScript 挑战】学习笔记

/ 请你编写一段代码实现一个数组方法,使任何数组都可以调用 array.last() 方法,这个方法将返回数组最后一个元素。// 如果数组中没有元素,则返回 -1。// 3。

2024-03-06 19:46:30 552

原创 【JS 高级之手写原理系列】学习笔记共 15 篇(完结)

这是我在 b 站上面学习的一门课程,个人学习笔记地址:https://github.com/kaimo313/javascript-advanced-handwriting-principles-series

2023-11-11 18:27:20 556

原创 【珠峰 WEB 前端架构师课程】学习笔记 100 篇(完结)

该课程主要讲了高阶函数、函数柯里化、发布订阅模式、观察者模式、从 0 到 1 实现一个 promise,co 库的实现、eventloop 执行流程跟顺序、模板引擎的实现原理、commonjs 规范流程、events 模块的实现原理、流的原理、单向链表、树、http 缓存策略、实现一个 http-server、koa 源码、express 源码、jwt、mongo 等相关知识的学习。该课程是珠峰姜文老师讲的,个人觉得讲的很不错,一路在 b 站学习下来做了 100 篇的学习笔记,收获颇丰。

2023-10-23 19:51:25 988 1

原创 【跟月影学可视化】学习笔记 41 篇(完结)

一共做了 162 个学习示例以及 41 篇博客学习笔记,要深入学习该课程请支持正版,个人笔记仅供参考。【跟月影学可视化】专栏学习笔记。

2023-01-10 17:15:58 1118

原创 【TypeScript教程】学习笔记16篇(完结)

尚硅谷TypeScript教程(李立超老师TS新课)学习笔记。

2022-10-02 00:47:06 488

原创 【ES6 从入门到精通系列】学习笔记 23 篇(完结)

ES6 从入门到精通系列(全23讲)学习笔记。可以自行搜索B站,有小马哥的视频学习。

2022-08-15 02:57:01 413

原创 【图解 Google V8】学习笔记合集 23 篇(完结)

这些文章只是笔者学习【图解 Google V8】专栏记录的笔记,仅供参考。请支持正版的课程。

2022-06-13 19:53:45 2198

原创 【玩转 webpack】视频课程学习笔记 69 篇(完结)

说明这些文章只是笔者学习记录的笔记,仅供参考。请支持正版的课程。笔记目录webpack基础篇(一):webpack与构建发展简史webpack基础篇(二):webpack核心概念webpack基础篇(三):资源解析–解析 ES6webpack基础篇(四):资源解析–解析 React JSXwebpack基础篇(五):资源解析–解析 CSSwebpack基础篇(六):资源解析–解析 Less 和 Sasswebpack基础篇(七):资源解析–解析图片webpack基础篇(八):资源解析–

2022-03-11 17:18:19 1979

原创 【凯默叔叔的小屋】:一个使用 docsify 搭建的个人学习导航博客

博客由来最近一段时间,为了方便查阅学习资料以及更直观的看到各方面的知识点,自己通过用 docsify 搭建了一个学习导航的个人博客。【Uncle Kaimo’s Cabin - 凯默叔叔的小屋】【github 源码】主要内容涉及如下:整理了前端学习涉及的知识点收录了一些开发、创作需要的工具收录了一些优秀的博客、小册、视频以及一些不错的文章资源还有一些自己兴趣方面的资源…如果觉得写得还不错或对您有帮助,可以我的项目【github 源码】点颗星⭐ 皮卡皮卡(*╹▽╹*),非常感谢。

2022-02-17 20:04:47 472

原创 【egg.js + react + zarm ui + vite2.0 全栈项目实战:从 0 到 1 实现记账本】小册学习笔记合集(完结)

说明说明这些文章只是笔者学习记录的笔记,仅供参考。请支持正版的小册。目录报错篇执行 mysqld --install 报错:由于找不到VCRUNTIME140 1.dII, 无法继续执行代码执行 mysqld --install 报错:Install Remove of the Service Denied执行 mysqld --install 报错:The service already existsegg.js 项目初始化报错 ConnectionTimeoutError: Connec

2022-01-28 15:25:56 2844

原创 【浏览器工作原理与实践】专栏 40 篇学习笔记合集(完结)

说明这些文章只是笔者学习记录的笔记,仅供参考。请支持正版的专栏。目录Chrome架构:仅仅打开了1个页面,为什么有4个进程?TCP协议:如何保证页面文件能被完整送达浏览器?HTTP 请求流程:为什么很多站点第二次打开速度会很快?导航流程:从输入URL到页面展示,这中间发生了什么?渲染流程:HTML、CSS和JavaScript,是如何变成页面的?变量提升:JavaScript代码是按顺序执行的吗?调用栈:为什么JavaScript代码会出现栈溢出?块级作用域:var缺陷以及为什么要引入

2022-01-19 15:10:49 2508

原创 【重学前端】专栏 44 篇学习笔记合集(完结)

说明这些文章只是笔者学习记录的笔记,仅供参考。请支持正版的专栏。目录前端发展史以及学习痛点前端学习路线与方法前端知识框架图div和span不是够用吗?如何运用语义类标签来呈现Wiki网页?JavaScript类型有哪些你不知道的细节?JavaScript对象:面向对象还是基于对象?JavaScript中的原型和类JavaScript中的对象分类CSS语法关于带@的规则浏览器工作解析(一)浏览器工作解析(二)浏览器工作解析(三)浏览器工作解析(四)浏览器工作解析(五)HT

2022-01-19 14:44:50 743

原创 ❤️❤️❤️前端成神之路必看学习资源(二),建议收藏起来,偷偷学习!!!❤️❤️❤️

整理一下我博客上的学习资源,具体可以查看我的个人博客:卡夫卡的岛上书店–资源工具冴羽的博客下面是冴羽大佬写的系列文章,如果觉得写得不错可以去大佬项目star一下浏览器相关浏览器系列之 Cookie 和 SameSite 属性面试相关淘系前端校招负责人元彦直播答疑文字实录业务前端的困境深入系列目录JavaScirpt深入之从原型到原型链JavaScript深入之词法作用域和动态作用域JavaScript深入之执行上下文栈JavaScript深入之变量对象JavaScrip

2021-06-09 11:52:04 6278 6

原创 ❤️❤️❤️前端成神之路必看学习资源(一),建议收藏起来,偷偷学习!!!❤️❤️❤️

整理一下我博客上的学习资源,具体可以查看我的个人博客:卡夫卡的岛上书店–资源工具网站资源大佬收藏夹【awesome-bookmarks】–panjiachen文档MDN | MDN-JS标准内置对象 Web技术权威文档现代JavaScript教程 以最新标准为基准的JS教程ES5教程 阮一峰的JS教程ES6教程 阮一峰的ES6教程Bash 脚本教程 阮一峰编写ECMA ECMA官网菜鸟教程 涵盖多种语言的初级教程腾讯云开发者手册社区Github 程序员同性交友社区掘

2021-06-09 11:50:56 7795 3

原创 【卡夫卡的岛上书店】:一个利用 vuepress 的主题 vuepress-theme-reco 以及 vuepress-theme-vdoing 搭建自己的静态博客

链接个人博客链接:【卡夫卡的岛上书店】目前版本首页总目录分类标签归档页面

2021-01-28 21:04:41 1738 2

原创 【Vue 开发实战】学习笔记48篇(完结)

【Vue 开发实战】学习笔记。

2019-10-20 14:49:06 1559 1

原创 nvm 安装 node 版本报错 Could not retrieve https://nodejs.org/dist/latest/SHASUMS256.txt

找到 nvm 安装的文件夹里面。文件,打开添加下面命令。

2024-09-13 11:46:43 211

原创 npm 安装 pnpm 时 报错 npm ERR! Unexpected token ‘.‘

我看网上的一些解决方案是说 nvm 版本过低导致,下面我们按照这个方向处理。然后 cmd 或者 powershell 执行 nvm,就可以看到更新到了。一个项目用的是 pnpm 安装的依赖,node 的版本是。最后就可以安装 pnpm 了,发现安装成功,搞定。双击执行,选择自己需要的版本。更新完成之后会出现下面提示。还需要重装 node 版本。

2024-04-30 18:26:50 1074

原创 git 命令怎么回退到指定的某个提交 commit hash 并推送远程分支?

1、先执行下面命令,输出日志,主要就是拿到提交 commit 的 hash,上图红框即可。或者 vscode 里面直接右击,copy sha。2、执行下面命令回退。3、推送到远程,即可。

2024-04-25 11:58:21 528

原创 Unable to authenticate, need: BASIC realm=“Sonatype Nexus Repository Manager“

去掉对应的这一行即可,或者使用 nrm 工具执行。删掉私有源,然后在添加私有源也可。使用公司的私有源,执行。

2024-03-25 18:29:18 706

原创 21 # 高级类型:条件类型

分布式条件类型(Distributive Conditional Types)是一种特殊类型的条件类型,它在处理联合类型时会表现出特定的行为。当条件类型被应用于联合类型时,如果联合类型中包含了带有类型参数的条件类型,那么 TypeScript 会自动将条件类型“分发”到联合类型的每个成员上,并将结果组合成一个新的联合类型。**Extract 跟 Exclude 相反, Exclude 是从类型 T 中过滤掉可以赋值给类型 U 的类型, Extract 是从类型 T 中可以抽取出赋值给 U 的类型。

2024-03-18 19:53:22 546

原创 20 # 高级类型:映射类型

映射类型本质上是一种预先定义的泛型接口,通常还会结合索引类型获取对象的属性和属性值,从而将一个对象映射成我们想要的结构。映射类型(Mapped Types)是一种强大的工具,用于从一个现有的类型中创建新类型。通过映射类型,我们可以在编译时基于旧类型创建新类型,而无需手动重复定义属性。上面三种称为同态,他们只会作用于 Obj 中的属性,不会引入新的属性。通过 Readonly 内置泛型接口。下面这种会创建新的属性,它是非同态的。把接口的所有属性变成可选的。比如:将所有属性变成只读。

2024-03-18 19:20:47 451

原创 19 # 高级类型:索引类型

是一种索引类型查询操作符,用于获取类型 T 的所有属性名的联合类型。它可以用于访问和操作对象类型的属性名称。表示类型 T 中索引为 K 的属性的类型。这种语法通常用于访问对象类型中特定属性的类型。可以使用索引来约束处理这种问题。

2024-03-18 18:56:37 453

原创 18 # 高级类型:交叉类型与联合类型

可区分联合类型(Discriminated Unions)是 TypeScript 中一种特殊的联合类型,通过一个共同的属性(称为 discriminant)来区分联合类型中的不同成员。方法二:利用 never 类型,检查 s 是不是 never 类型,如果是 never 类型,说明以前的分支都被的覆盖了,永远不会走到,如果不是 never 类型,说明有遗漏。运算符将多个类型组合到一起形成一个新的类型,新类型将包含所有原始类型的属性和方法。联合类型(Union Types)是指通过。

2024-03-14 21:08:04 374

原创 git 命令怎么回退到某个特定的 commit 并将其推送到远程仓库?

不小心把提交的名称写错提交上远程仓库了,这里应该是 【029】的,这个时候我们想回到【028】这一个提交记录,然后再重新提交【029】到远程仓库,该怎么处理。1、首先我们找到【028】这条记录的提交 hash,右击这条记录,然后 Copy SHA 即可。执行成功之后,我看看 vscode 这里就会显示同步更改,然后【030】这个文件也本地删除了。3、接下来,使用以下命令强制推送更改到远程仓库:(这里的 main 表示的是分支)成功后,我们可以看到没有同步更新远程的了,这样就大功告成了。

2024-03-06 19:45:26 2397

原创 怎么将文件夹里的所有 js 文件按照名称跟内容拼接生成一个 md 文件?

执行命令生成 md 文件。

2024-02-07 10:20:47 425

原创 vuecli3 执行 npm run build 打包命令报错:TypeError: file.split is not a function

这样就导致了报错,懒加载多的时候在开启,通过合并的方式处理 chunk,以减少请求数,一个的时候没必要。我排查了一下,模拟代码如下:在打包的时候用了。

2024-02-04 14:28:37 1038

原创 17 # 类型检查机制:类型保护

上面的跟会报错,因为lang是个联合类型,TypeScript 不能确定lang是什么类型。但是这种方案需要在每处都加,代码可读性差。而类型保护就是用来解决这个问题的。它可以提前对类型做出预判。

2024-02-01 20:25:10 482

原创 16 # 类型检查机制:类型兼容性

加个成员,两个变量就不兼容了,只有类型参数 T 被接口成员使用的时候才会影响泛型的兼容性。当一个类型 Y 可以被赋值给另一个类型 X 时,我们说类型 X 兼容类型 Y。函数重载:目标函数的参数要多余源函数的参数而且返回值要符合相应的要求。的时候, 字符型兼容 null 类型,null 是字符的子类型。:目标函数的返回值类型必须与源函数的返回值类型相同或为其子类型。X 兼容 Y :X(目标类型)= Y(源类型):目标的参数的个数一定要多余源函数的参数个数。对象类型:成员个数多的兼容个数少的(设置。

2024-01-31 20:32:12 508

原创 15 # 类型检查机制:类型推断

不需要指定变量的类型(函数的返回值类型),TypeScript 可以根据某些规则自动为其推断出一个类型。类型检查机制:TypeScript 编译器在做类型检查时,所秉承的一些原则,以及表现出的一些行为。作用:辅助开发,提高开发效率。

2024-01-23 20:35:03 402

原创 14 # 泛型:泛型类与泛型约束

改造一个上一节说的 log 函数,让其打印出参数的 length 属性,这个时候就会提示我们类型。这时我们需要用到泛型约束这个概念,我们先定义一个接口,然后让。上不存在属性 length。静态成员不能引用类类型参数。泛型可以约束类的成员。

2024-01-18 20:37:40 390

原创 13 # 泛型:泛型函数与泛型接口

any 类型丢失了一些信息,也就是类型之间的约束关系,它忽略了输入类型跟返回类型必须是一致的,我们无法获知这种约束福安息,这个时候就需要用到泛型。上面这里仅仅约束了一个函数,还可以用泛型来约束接口的其它成员,这样接口的所有成员都受到了泛型变量的约束。很多时候我们希望一个函数或者一个类支持多种数据类型,有很大灵活性。如果不指定类型,也可以在接口的定义中,指定一个默认的类型。我们不仅可以用泛型来定义一个函数,还定义一个函数类型。希望这个函数支持字符串数组,应该如何实现?泛型还可以用在接口中。

2024-01-17 20:24:33 463

原创 vue 里 props 类型为 Object 时设置 default: () => {} 返回的是 undefined 而不是 {}?

这样写会被解析器认为是一个代码块,而不是一个对象字面量。今天遇到个小坑,就是 vue 里使用 props 传参类型为 Object 的时候设置。发现 infoData 是 undefined。之前我的写法如下,这种是可以的。

2024-01-17 18:21:03 1509

原创 12 # 类与接口的关系

接口处了继承接口之外,还可以继承类。这就相当于接口把类的成员都抽象了出来,只有类的成员结构,没有具体的实现。接口在抽离类的成员的时候,不仅抽离了公共成员,还抽离了私有成员和受保护成员。接口的继承可抽离出可重用的接口。也可以将多个接口合并成一个接口。接口可以像类一样,相互继承,并且一个接口可以继承多个接口。一个接口可以约束类成员有哪些属性以及它们的类型。

2024-01-16 20:20:36 430

原创 11 # 类:抽象类与多态

所谓多态,就是在父类中定义一个抽象方法,在多个子类中对这个方法有不同的实现,在程序运行的时候,会根据不同对象执行不同的操作,这样就是实现了运行时的绑定。在继承的时候,this 的类型也可以表现出多态,这里的多态是指 this 既可以是父类型,也可以是子类型。抽象类的好处就是可以抽离出一些事物的共性,有利于代码的复用和扩展,另外抽象类也可以实现多态。类的成员方法可以直接返回一个 this,这样就可以很方便的实现链式调用。抽象类是不允许被实例化的,只能被继承。

2024-01-15 20:15:47 380

原创 Vue 项目中使用 debugger 在 chrome 谷歌浏览器中失效以及 console.log 指向去了 vue.js 代码

今天在代码里面输出 console.log 信息直接指向了 vue.js,并且代码里面写了 debgger 也不生效。找到这个 ignore list 的 custom exclusion rules 取消掉。f12 找到浏览器的这个设置图标。

2023-12-18 15:10:34 2508 1

原创 10 # 类:继承和成员修饰符

给构造函数添加 protected, 这个类不能被实例化,只能被继承,相当于声明了一个基类。构造函数的参数也可以添加修饰符,作用就是自动将参数变为实例的属性,可以省略在类中的定义。类的私有成员,只能在类的本身调用,不能被类的实例调用,也不能被子类调用。给构造函数添加 private, 这个类不能被实例化,也不能被继承。类的静态成员,只能通过类名来调用,不能被类的实例调用。受保护成员,只能在类的本身和子类中调用,不能被类的实例调用。只读属性,一定要被初始化,不能被修改。

2023-12-11 23:48:56 321

原创 09 # 函数相关知识点梳理

4种方式:ts 对函数参数类型、个数有什么要求形参实参必须一一对应。如果要省略可使用可选参数:注意:必选参数不能位于可选参数后。为参数赋值默认值:必选参数之前,默认参数是不能省略的,必须明确的传入 来获取其默认值,必选参数之后的默认值可以不用传。参数不确定可以使用剩余参数函数重载先定义一系列名称相同的函数声明,声明列表定义完成后,需在类型最宽泛版本中实现这个重载

2023-12-11 23:46:36 245

原创 08 # 接口:函数类型接口

类型别名定义函数类型。

2023-12-04 19:58:50 137

原创 07 # 接口:对象类型接口

id: number;})data: [如果传入对象字面量的话,ts 会对额外的字段进行类型检查,sex 就会报错render({data: [})绕过这种检查的方法一共有三种第一种:就是上面赋值给一个变量,然后传入第二种:使用类型断言(明确告诉编译器我们的类型就是 Result,这样编译器就会绕过检查)render({data: [或者使用,建议使用 as,这种在 react 中会产生歧义data: [});第三种:使用字符串索引签名。

2023-12-04 19:58:01 177

流沙:用于 CSDN 博客网站的暗黑和明亮主题切换的 chrome 浏览器插件。

流沙:用于 CSDN 博客网站的暗黑和明亮主题切换的 chrome 浏览器插件。使用的 v3 版本开发。

2022-08-15

原生 js 实现类 3d 地图大屏展示自动高亮轮播、显示悬浮提示 tootip 的方案:svg + popper.js 定位引擎

原生 js 实现类 3d 地图大屏展示自动高亮轮播、显示悬浮提示 tootip 的方案:svg + popper.js 定位引擎

2022-03-29

空空如也

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

TA关注的人

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