- 博客(166)
- 资源 (3)
- 收藏
- 关注

原创 JavaScript进阶学习汇总
前端缓存可分为两大类:http缓存(l浏览器的网页缓存)和浏览器缓存(应用程序的本地缓存)http缓存:网络互联网:一个计算机互联的网络web:www万维网,只是互联网上分享信息的方式之一。使用超文本链接把一个文件链接到另一个文件,以这种方式实现一个网络。web技术的持续发展是由万维网联盟W3C监管。网络是怎样连接的_笔记HTTP缓存,不可靠,难以指定的。离线应用需要依赖.manifest文件统一说明项目的文件的缓存方式浏览器缓存机制:HTTP强缓存与协商缓存、缓存位置service work
2021-09-10 19:36:11
678

原创 JavaScript基础语法的学习汇总(自用)
基础重点JavaScript数据类型、引用类型、操作符、语句判断JavaScript中的数据类型typeof、instanceof、 constructor、 prototypejavaScrpt存取属性的语法:点语法+中括号JavaScript正则表达式弱映射与弱集合及其私有、垃圾回收方面应用私有变量这里不太懂JavaScript有关XML、JSONJavaScript API待补充和仔细研究jQuery梳理总结相比原生JavaScript,jQuery等库在DOM操作上的性能一定是有所
2021-04-30 01:09:23
508
3

原创 前端CSS的学习梳理(自用)
JavaScript基础语法JavaScript数据类型、引用类型、操作符、语句JavaScript正则表达式函数相关JavaScript作用域、闭包及其应用作用域中this手写bind函数JavaScript内存相关初了解:堆栈、引擎对象相关有关prototype和__proto__JavaScript扩展JavaScript函数式编程...
2021-04-27 12:49:11
295
原创 【前端面试】深入回答http状态码
如果服务器在接收到包含 Expect: 100-continue 的请求后,没有准备好接收请求体,或者服务器配置不允许发送 100 Continue 响应,服务器应该返回 417 Expectation Failed 状态码。然而,某些3xx状态码(如304)与缓存控制相关,并不涉及重定向,因此不会有Location头。HTTP状态码是服务器在响应HTTP请求时返回的三位数代码,这些代码用于表示请求的结果。这些状态码是HTTP协议的一部分,它们帮助客户端理解服务器的响应,并决定下一步的操作。
2024-09-06 15:29:04
775
原创 【前端面试】标记、绘画视频的某一帧
在前端开发中,Canvas 是一个强大的工具,可以用来创建图形、动画和各种视觉效果。为了简化和增强 Canvas 的使用,社区中出现了许多库。在选择 Canvas 库时,需要根据具体的项目需求进行权衡。Fabric.js 适合需要交互性强的图形应用,Konva.js 提供了出色的性能和灵活性,而 Pixi.js 适合需要极高渲染性能的项目。通过这些库,开发者可以更容易地实现复杂的图形操作,包括撤销和反撤销功能。
2024-09-05 15:27:58
1943
原创 【前端面试】Webpack、Rollup 和 Gulp 构建工具了解
Webpack:适合复杂的前端应用构建,提供了丰富的插件生态系统和灵活的配置选项。Rollup:适合库和工具的打包,特别是当你需要发布模块化代码时,Rollup 可以提供更优的打包结果。Gulp:适合自动化构建流程,通过编写任务来处理各种开发中的任务。在实际开发中,这些工具可以根据项目需求和团队习惯进行选择和搭配使用。例如,一个项目可能同时使用 Webpack 来处理 JavaScript 模块打包,使用 Gulp 来自动化其他构建任务。
2024-09-05 12:11:21
1491
原创 【前端面试】事件监听机制&React 的事件系统实现
方法是 Web API 的一部分,它允许开发者创建和触发自定义事件或内置事件。这个方法属于所有实现了接口的 DOM 节点,包括元素、文档和窗口。使用方法可以模拟用户行为或其他交互,从而触发事件处理程序。以下是如何使用创建事件对象:首先,你需要创建一个事件对象。对于内置事件,你可以使用EventMouseEvent等构造函数来创建相应的事件对象。触发事件:然后,使用方法将事件对象分派到目标元素上,这将触发绑定在该元素上的事件监听器。
2024-09-05 11:39:07
1940
原创 【前端面试】leetcode树javascript
如果前驱节点的右子树已经指向当前节点,我们删除这个临时的右子树指针,然后访问当前节点。在这个实现中,我们没有使用额外的空间来存储节点,而是通过在树中添加和删除临时的右指针来模拟栈的行为。我们首先将根节点加入队列,然后循环遍历队列中的节点。后序遍历(Postorder Traversal)是一种遍历二叉树的算法,其遍历顺序为:先遍历左子树,然后遍历右子树,最后访问根节点。先序遍历(Preorder Traversal)是一种遍历二叉树的算法,其遍历顺序为:先访问根节点,然后遍历左子树,最后遍历右子树。
2024-09-03 21:27:43
1213
原创 【前端面试】设计循环双端队列javascript
存储循环队列的向量空间是循环的,用通俗的话来讲,就是我们在做next或者prev操作时,不会发生溢出取模、或者直接判断是否为0/size返回一个值。
2024-09-03 16:38:16
504
原创 【前端面试】leetcode指针解法javascript
哈希表是一种数据结构,它通过一个函数(称为哈希函数)将键(key)映射到表中的一个位置,从而可以快速地插入和查找数据。在哈希表中,每个键都与一个索引相关联,这个索引指向存储值(value)的位置。都是基于哈希表的,它通过哈希函数将每个值映射到哈希表的一个位置,从而实现快速的查找、添加和删除操作。JSON.stringify(head) 秒杀法。或者可以加tag标记被遍历过的。JavaScript 中的。除非不报错,报错就是有环!借助哈希表判断是否重复。
2024-09-03 11:55:47
550
原创 【前端面试】采用react前后,浏览器-解析渲染UI的变化
浏览器解析和渲染 UI(用户界面),特别是 HTML 文档,是一个复杂的过程,涉及到多个阶段。
2024-09-02 17:04:58
1829
原创 【前端面试】挖掘做过的nextJS项目4——全栈性案例
展示使用 Next.js 搭建一个全栈服务的过程——前端通过 RPC 协议上传文件到public目录,支持前端引用文件。
2024-09-02 16:08:48
1320
原创 【前端面试】rpc协议
RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,它允许一个程序(客户端)通过网络向另一个程序(服务器)请求服务,使得开发者可以像调用本地函数一样调用远程服务器上的函数或方法。RPC 协议广泛应用于分布式系统和网络服务中,如数据库访问、文件传输、网络管理等场景。常见的 RPC 框架有 gRPC、Apache Thrift、XML-RPC、JSON-RPC 等。
2024-09-02 12:03:24
1514
原创 【前端面试】React深度学习(下)
Fiber节点是如何被创建并构建Fiber树的render阶段的工作可以分为“递”阶段和“归”阶段。“递”阶段会执行beginWork: 根据传入的Fiber节点创建子Fiber节点,并将这两个Fiber节点连接起来。“归”阶段会执行completeWork。
2024-08-29 16:34:52
460
原创 【前端面试】React深度学习(上)
web app,有两类场景会制约快速响应:大计算量、设备性能不足使页面掉帧=>发送网络请求后,由于需要等待数据返回 =>主流浏览器刷新频率为 60Hz,即每(1000ms / 60Hz)16.6ms 浏览器刷新一次。JS 可以操作 DOM,GUI渲染线程与JS线程互斥、JS 脚本执行和浏览器布局、绘制并非同时执行。在每 16.6ms 时间内,需要完成如下工作:JS脚本执行 ----- 样式布局 ----- 样式绘制当 JS 执行时间过长,超出了 16.6ms,样式布局和样式绘制就会受影响。
2024-08-26 16:47:33
331
原创 【前端面试】深入了解Node.js基础
运行环境:libuv 主要用于 Node.js 环境,而浏览器事件循环运行在浏览器中。I/O 模型:libuv 专注于异步 I/O 操作,而浏览器事件循环处理 DOM 事件、JavaScript 执行和 Web APIs。线程模型:libuv 通常运行在单个线程上,但有线程池支持多线程;浏览器事件循环则在多线程环境中运行,但主要在 JavaScript 引擎线程上处理事件。API 和 集成。
2024-08-26 12:08:18
1449
原创 【前端面试】看react源码,解读useState
mount 阶段获取当前 Hook 节点,同时将当前 Hook 添加到 Hook 链表中初始化 Hook 的状态,即读取初始 state 值创建一个新的链表作为更新队列,用来存放更新操作setXxx(),赋值给Hook.queue创建一个 dispatch 方法(即 useState 返回的数组的第二个参数:setXxx()),该方法的用途是用来修改state,赋值给queue.dispatch返回当前 state 和 修改state 的方法(dispatch)
2024-08-22 17:30:50
1248
原创 【前端面试】call、apply 、bind、箭头函数
call函数除了传参,还有一个调用上下文this,使用call、apply 、bind可以改变函数的this在实际开发中,选择使用callapply还是bind取决于你的具体需求和场景。
2024-08-22 16:24:28
802
原创 【前端面试】深入接口风格restful、graphQL
GraphQL允许API设计者定义自定义标量类型和指令,以适应特定的业务逻辑和数据需求。GraphQL为构建API提供了一种灵活、高效和可扩展的方式,尤其适合需要高度定制化数据请求的复杂应用程序。然而,它也可能带来一些挑战,如设计复杂性、查询性能优化和安全问题,这些都需要在实际开发中仔细考虑。
2024-08-21 18:02:55
780
原创 【前端面试】javascript全栈开发——深挖nestJS项目
Nest 内置了 IoC 容器来解析提供者之间的关系,支持使用普通值、类和异步或同步工厂来定义提供者。NestJS 中间件提供了一种强大的机制,可以在处理 HTTP 请求和响应时进行自定义处理。通过方法和,开发者可以灵活地控制中间件的应用范围,包括特定路由、请求方法或控制器。同时,中间件的依赖注入和函数式定义为创建简洁、可重用的中间件提供了便利。全局中间件的设置进一步简化了对所有路由应用通用逻辑的过程。通常不需要编写自定义异常,但如有需要,应创建自定义异常层次结构,让自定义异常继承自基础的类。
2024-08-21 15:53:19
1197
原创 【前端面试】从npm 升级到 pnpm的总结
pnpm 和 npm 在性能上存在一些明显的差异,这也是一些开发者选择从 npm 切换到 pnpm 的原因。
2024-08-20 16:23:54
1571
原创 【前端面试】一篇讲透客户端存储——IndexedDB、Cookie……
IndexedDB 是一种在用户浏览器中运行的客户端存储技术,它允许网页应用程序存储大量结构化数据。IndexedDB 存储空间的底层实际上是使用用户的本地文件系统来存储数据的。:IndexedDB 数据存储在用户的文件系统中,但具体位置对于用户来说是抽象的,并且由浏览器管理。:浏览器为每个域(或称为源)创建和管理一个或多个数据库文件。这些文件通常位于用户的个人文件夹中,例如在 Linux 上,或者在 Windows 上的AppData目录下。
2024-08-20 14:26:19
1396
原创 【前端面试】挖掘做过的nextJS项目(下)——详谈服务端渲染
nextjs做服务端渲染是基于nodejs,node环境与浏览器环境有很大区别——模块系统、web api。
2024-08-16 14:30:32
831
原创 【前端面试】如何深度谈class组件和函数组件的区别
虚拟 DOM 是 React 的一个基础概念,它与组件是函数式还是类没有直接关系。无论是函数式组件还是类组件,它们都通过虚拟 DOM 来描述 UI,React 通过比较新旧虚拟 DOM 树来高效地更新 DOM。随着 React 的发展,函数式组件和 Hooks 成为了构建组件的推荐方式,因为它们提供了更简洁和灵活的代码组织方式。
2024-08-16 11:20:35
949
原创 【前端面试】全网最全javascript Event Loop、任务队列解释
Axios 是一个基于 Promise 的 HTTP 客户端,用于执行异步的 HTTP 请求。它利用了 JavaScript 的异步编程特性,特别是 Promise,来处理请求和响应。Axios 的请求和响应处理遵循 JavaScript 的事件循环和宏任务/微任务队列,但它本身并不定义为宏任务。宏任务通常指的是浏览器或 Node.js 环境中的高级别异步操作,如定时器、网络请求等,而 Axios 作为这些操作的封装,其内部实现细节对用户来说是透明的。性能影响过度使用微任务(如大量Promise。
2024-08-15 14:42:29
1050
原创 【前端面试】挖掘做过的nextJS项目(中)
文章浏览阅读105次。需求:快速搭建宣传官网1.适应pc、移动端2.基本的路由跳转3.页面渲染优化4.宣传的图片、视频资源的加载优化5.seo优化全栈react web应用、tailwind css原子工具的支持,方便书写响应式uiapp router(React 服务器组件)支持服务器渲染优化、code-spilit优化服务端渲染对seo友好。
2024-08-14 17:48:57
1052
原创 【前端面试】挖掘做过的nextJS项目(上)
需求:快速搭建宣传官网1.适应pc、移动端2.基本的路由跳转3.页面渲染优化4.宣传的图片、视频资源的加载优化5.seo优化全栈react web应用、tailwind css原子工具的支持,方便书写响应式uiapp router(React 服务器组件)支持服务器渲染优化、code-spilit优化服务端渲染对seo友好。
2024-08-14 17:23:20
1180
原创 授人以渔command not found: ***
配置环境变量是每个开发人员绕不开的初级本领。搜了一下大多数博客都是列出自己系统配置的步骤,授人以鱼不如授人以渔,今天记录一下自己配置验证的方法过程,方便初学者配置。本文围绕——我在macOS配置http-server的探究验证过程
2023-02-24 13:46:36
762
原创 graphQL科普介绍篇
graphQL科普介绍篇restful 风格与graphQL了解graphQL纯个人理解学习记录,不含教程(这部分肯定是官方最靠谱啦)graphQL与react都是由Facebook设计,react为构建用户界面提供了一种声明式方案,类似地graphQL为API通信提供声明式方案,对想要的数据的声明式描述。例如并行发起数据请求时,我们希望能同时获得所需的全部数据,graphQL可以去帮我们处理多个数据请求,我们只需要关心我们想要的数据。此外graphQL也衍生扩展了很多功能,我们常说的分层网络协议,
2022-04-10 15:03:17
1071
原创 Type ‘string‘ is not assignable to type ‘“xx1“ | “xx2“ | undefined
新手常遇typescript类型约束报错,是宽泛的字符串约束和具体值的类型约束的问题,使用as const 解决。原理详细如下https://blog.csdn.net/weixin_43263355/article/details/120943605
2022-02-17 10:49:04
3703
原创 常见概念学习记录
默认值多值的默认值,对象解构的默认值语法单值a=a||"default";let a=[x=>x*x,20];a[0](a[1]);
2021-09-11 12:04:49
293
原创 HTML5特性汇总(待补充)
离线-存储Application cacheLocal StorageIndexed DB在线/离线事件连接Web SocketsServer-sent事件文件访问File APIFile SystemFile WriterProgressEvents语义新元素、新属性国际化form类型microdata音频视频VideoWeb AudioWebRTCVideo track3D和图形Canvas 2D3D CSS变换WebGLSVG展示CSS3 2D
2021-09-11 11:35:41
123
原创 浏览器内核相关学习
浏览器想要在各设备上运行涉及到对操作系统的适配IEFirefoxchromeSafariwindows是是是是(5.1.7之前)Mac OS否是是是Linux否是是否Android否是是否iOS否否是是window是浏览器内核:Trident:IEGecko:FirefoxWebKit:safari 、chrome、 android、 webOS渲染引擎...
2021-09-06 22:48:41
734
2
原创 VUE基本了解
VUE渐进式增量框架,整体上遵循MVVM架构,视图与数据之间是独立的,M:Model(服务器上的业务逻辑操作)V:View(页面)VM:ViewModel(Model与View之间核心枢纽,比如Vue.js)一个响应式的数据系统,能通过轻量级的虚拟DOM引擎和最少的优化工作来自动更新用户界面。灵活的视图声明,友好的HTML模板、JSX(在JavaScript中编写HTML的技术)以及hyperscript渲染函数(完全使用JavaScript)由可维护、可复用组件组成的组件化用户界面。官方的
2021-09-05 14:06:48
179
1
原创 leetcode刷题笔记javascript
加油呀1两数之和2两数相加_链表操作1两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。对比两种方法感受:哈希表节约时间,花销空间哈希表的主干:存储位置 = f(关键字),所以哈希表的时间复杂度就是常数阶O(1)。var twoSum = function(nums, target) { if(!nums) return []; const m=new Map(); for(let
2021-09-05 14:06:04
571
2
原创 JavaScript定型数组TypedArray
实际上JavaScript并没有TypedArray类型,实质是一种特殊的包含数值类型的数组。早期,希望在浏览器中安装用于渲染复杂图形的编程平台,无需安装插件。出现了webGL,是基于OpenGL ES2.0的JavaScript API。早期版本中,JavaScript数组与原生数组之间不匹配,出现性能问题。图形驱动程序API不需要以JavaScript默认的双精度浮点格式(js数组存储在内存中的格式)传递给它们的数值。所以提出了定型数组它不继承自普通数组(Array);定型数组中只能存固定类型(数
2021-09-05 14:04:44
575
原创 关于前端框架、工具学习的总结
ReactReact函数式组件Hooks开发TypeScript是JavaScript的一个超集,除了支持ES6所有的功能外,还提供了静态类型检查。将其用于大型开发项目,就会凸显出他的优点。大型项目一般会有多个模块,在对接不同的模块时候,静态类型模块会在编译阶段找出可能存在的问题。Flow类似TS,但是更为灵活Flow是一个类型检查工具,TypescriptReact+Bootstrap构建一个联系人管理器(TypeScript+IndexedDB)VUE实现一个Markdown笔记本框
2021-09-05 14:02:10
200
原创 后端技术了解
微服务:一种架构风格,服务的作用域很严格,且服务之间松散耦合。由此推进:可独立部署,并且严格关注业务功能。微服务可以托管在Docker容器里面容器:一个运行实例,接受运行应用程序所需的各个软件部分。通过使用卷和端口,可以对其他容器、宿主操作系统甚至外部系统开放优点:易于设置和创建,并且可以快速停止和启动端口:同os,是连接到外界的udp、tcp端口卷:类似共享文件夹容器是从镜像构建的,我们可以自己构建镜像,或者从一个集中的Docker数据库下载镜像。镜像:是一种文件存储形式,是冗余的一
2021-09-05 14:01:12
239
contact_manager.rar
2021-06-20
markdown_vue.rar
2021-05-16
KEIL调试J-link驱动安装包
2020-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人