自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(163)
  • 问答 (1)
  • 收藏
  • 关注

原创 【LeetCode刷题记录】79. 单词搜索(JS解法)

给定一个 m x n 二维字符网格 board 和一个字符串单词 word。如果 word 存在于网格中,返回 true;否则,返回 false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “ABCCED”输出:true。

2025-02-26 20:17:04 556

原创 【LeetCode刷题记录】22. 括号生成(JS解法)

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。输入:n = 3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]输入:n = 1输出:[“()”]

2025-02-26 15:43:11 127

原创 【LeetCode刷题记录】77. 组合(JS解法)

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。输入:n = 4, k = 2输出:[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],输入:n = 1, k = 1输出:[[1]]

2025-02-25 10:42:17 280

原创 【LeetCode刷题记录】17. 电话号码的字母组合(JS解法)

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。输入:digits = “23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]输入:digits = “”输出:[]输入:digits = “2”输出:[“a”,“b”,“c”]digits[i] 是范围 [‘2’, ‘9’] 的一个数字。

2025-02-25 09:33:24 377

原创 【LeetCode刷题记录】78.子集(JS解法)

输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]所以可以深度遍历集合中的每个元素,存在则将该元素放入path,不存在直接遍历下一个元素。给你一个整数数组 nums ,数组中的元素 互不相同。集合的每个元素有两种情况,存在 or 不存在,可以表示为1 or 0。我们知道,如果一个集合包含n个元素,那么它的子集数为2^n-1。集合的每个元素有两种情况,存在 or 不存在。输入:nums = [1,2,3]nums 中的所有元素 互不相同。输出:[[],[0]]

2025-02-17 16:18:21 255

原创 前端面试题整理-设计模式与继承

在前端开发中,设计模式属于软件工程的一部分。它们提供了解决常见设计问题的通用方案,帮助开发者编写可维护、可扩展的代码。

2024-12-19 17:06:25 913 1

原创 【日常小记】如何在Colab上跑代码

4. 定位到项目文件夹下。

2024-11-27 21:05:26 344

原创 前端面试题整理-前端异步编程

Web Worker 是一种在浏览器中创建后台线程的方法,用于执行复杂或耗时的 JavaScript 任务,而不会阻塞主线程。这有助于保持用户界面的流畅性。

2024-11-19 15:44:25 1044

原创 前端面试题整理-vue指令开发

在 bind 钩子中,我为绑定的元素添加了一个点击事件监听器,当元素被点击时,执行复制操作。我当时在开发点击复制文本的功能,我有很多个元素都想有这个功能,但是我又不想每个元素都绑定一个 onClick 事件,所以我开发了一个指令:v-copy,可以实现点击复制文本的功能。同时,我通过将指令代码组织在单独的文件中,并在需要的地方引入,来管理和维护项目中的自定义指令。可以将第三方库集成到 Vue 指令中,例如,创建一个自定义指令来封装一个动画库,通过钩子函数调用动画库的方法来实现动画效果。

2024-11-14 22:42:48 754

原创 【LeetCode刷题记录】45.跳跃游戏 II

给定一个长度为 n 的 0 索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意返回到达的最小跳跃次数。生成的测试用例可以到达。输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。输入: nums = [2,3,0,1,4]输出: 21

2024-10-07 11:33:27 837

原创 【LeetCode刷题记录】55. 跳跃游戏

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true;否则,返回 false。输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。

2024-09-22 22:35:33 629

原创 【项目准备】大模型对话机器人

(1)中间件是什么?异步函数,可以执行一些操作,用来处理http请求。有两个参数ctx和next,ctx用来获取请求信息、发送响应内容,next用来将控制权传递给下一个中间件函数。(2)为什么要有中间件?处理 Web 请求时,服务端常常需要进行验证请求来源、检查登录状态、确定是否有足够权限、打印日志等操作,而这些重复的操作如果写在具体的路由处理函数中,明显会导致代码冗余,这个时候,我们就可以将这些通用的流程抽象为中间件函数,减少重复代码。(3)具体跨域和鉴权中间件怎么实现的。

2024-09-02 10:15:44 1169

原创 前端面试题整理-手撕代码题

传入一个promise数组,其中所有promise都变为成功状态,返回一个数组,数组内是各个promise的返回;输出是一个新的 Promise 实例, resolve 的内容是一个数组,这个数组就是输入中每个 Promise 的 resolve 的值。bind() 也是依次传递参数,返回改过this指向的新函数,调用才会执行,即bind(a,b,c,d)() a,b,c,d。promise.race()接收一个包含过个promise实例,返回最先返回结果的promise(不论成功还是失败)

2024-09-01 13:39:00 830

原创 前端面试题整理-场景设计题

(2) 服务端每次返回页面时,都携带一个 token,每次页面发送请求,都需要携带该 token,从而避免纯 cookie 校验出错(服务端每次页面加载都会返回一个 token 令牌,一般是隐藏的 dom 节点,网页端发起请求必须携带该 token,此时,由于 csrf 的请求是浏览器自动发送的,所以并不会携带 token,从而判定这是非法请求,从而杜绝 csrf)在一般的页面中,大型图片的绘制,或者从接口返回的数据绘制的内容,会影响用户的首次视觉体验。页面加载完,但是不可交互,也是非常糟糕的体验。

2024-08-25 21:47:13 1040

原创 前端面试题整理-webpack

一种打包工具,实现前端模块化,将多个 js,打包成一个 bundle.js (其他类型文件交由各自的 loader 处理)。其中核心概念:entry: 定义入口 js 文件,一般单页项目定义一个,多页项目可传递数组output: 定义输出文件的格式和目录module: loader 定义的地方,常见的 jsx 处理用 babel-loader, vue 用 vue-loader, less 用 less-loader.(css 相对特殊,需要三个 loader 分别进行处理。

2024-08-23 14:16:40 986

原创 前端面试题整理-vue框架

用 javascript 对象来描述 UI 其实就是所谓的虚拟 DOM.只做同层级比较,类型不一样直接替换,类型一样进行列表渲染,通过key进行优化。diff 算法的原理:(1)简单 diff 算法:算法最为简单易懂,react 使用,但是移动次数上可能是最多遍历新子节点,找到旧子节点中,key 与其相同的节点,并记录下当前旧子节点中最大的索引,如果后续新子节点在旧子节点中的索引小于该值,则该子节点对应的真实 dom 需要移动。移动的目的地便是新子节点中,上一个节点的后面。

2024-08-23 11:30:00 951

原创 前端面试题整理-浏览器

因为Expires参照的是本地客户端的时间,而客户端的时间是可以被修改的,所以会有误差产生的情况,这也是Expires的一个缺点,所以有了后来Http1.1规范的Cache-control。首先执行同步任务,将其放入执行栈中执行,当执行栈中的任务执行完毕后,会去看任务队列中是否有任务需要执行,有的话将其放入执行栈中执行,执行完毕后再去看任务队列中是否还有任务,有的话再放入执行栈,如此循环,称为事件循环机制。(也就是请求资源的地址和目标资源的地址不一致时,浏览器出于安全考虑,会限制两个源的资源交互)。

2024-08-14 16:38:12 875

原创 前端面试题整理-Javascript

首先在创建该变量的当前作用域中取值,当前作用域找不到,继续到上级作用域中查,直到查到全局作用域,这个查找过程形成的链条就做作用域链。JS闭包:内层函数+引用外层函数的变量(一个大函数里包含了一个变量+一个内部函数)对闭包内的变量起到一个保护性的作用,外部不可直接使用此变量。闭包不一定有return,不一定会有内存泄漏。什么时候用到return?当外部想用闭包变量时就用return,把局部变量返回到外面来,但是外面可以使用此变量但不能修改。

2024-08-13 21:39:51 1408

原创 前端面试题整理-CSS

两栏布局、三栏布局、居中。

2024-08-02 11:30:00 1034

原创 前端面试题整理-HTML

(1)强缓存(依赖浏览器的本地缓存机制,在缓存有效期内直接从本地获取资源,不向服务器发送请求,用于不经常变化的静态资源,如css、js文件)(2)协商缓存(通过与服务器验证资源的新鲜度来确定是否需要重新获取资源,用于频繁变化并希望尽可能使用缓存的资源,如html文件)

2024-08-01 16:07:43 453

原创 黑马程序员-电商后台管理系统技术总结

使用Vue CLI脚手架进行项目搭建。‌利用Element UI进行界面美化。‌引入了axios作为HTTP请求库。‌使用了Echarts进行图表展示。‌使用了nprogress作为加载进度条。‌。

2024-07-21 07:38:20 1097

原创 前端面试题整理

(1)水平居中:对于行内元素:① 父元素。

2024-07-17 15:51:49 1062

原创 【JS红宝书学习笔记】第25章 客户端存储

前端数据存储有5种方式:(1)cookie:为了解决HTTP协议的无状态问题(也就是每次访问服务器关闭后再次访问,不能意识到是同一用户),一种每次HTTP请求自动带数据的技术。兼容性好。但是只能存储少量数据,且打开浏览器就能看到很不安全(2)localstorage:本地存储,永久存储,数据不受页面刷新、关闭的影响(3)sessionstroage:会话存储,页面关闭数据清空(4)indexDB:类似SQL数据库存储,但存储的是对象。

2024-07-15 18:45:24 862

原创 【前端项目笔记】10 项目优化上线

内容分发网络(Content Delivery Network,CDN)是建立并覆盖在因特网之上的一层特殊网络,专门用于通过因特网高效传递丰富的多媒体内容,对因特网中的信息流进行优化,从而提高网络的使用效率。

2024-07-12 11:30:00 1083

原创 【前端项目笔记】9 数据报表

效果展示:在开发代码之前新建分支新建分支reportgit branch查看分支将本地report分支推送到云端origin并命名为report。

2024-07-05 17:41:01 700

原创 【前端项目笔记】8 订单管理

效果展示:在开发功能之前先创建分支ordercls清屏git branch查看所有分支(*代表当前分支)新建分支order将本地的当前分支提交到云端仓库origin中命名为order。

2024-07-04 16:15:51 575

原创 【前端项目笔记】7 商品管理

效果展示:在功能开发之前,创建商品列表的子分支git branch查看所有分支创建并切换到新分支goods_list将新分支goods_list推送到云端仓库origin并命名为goods_list保存。

2024-07-03 12:39:40 1136

原创 【前端项目笔记】6 参数管理

效果展示:在开发功能之前先创建分支goods_paramscls清空终端git branch查看所有分支新建分支goods_params把本地的新分支推送到云端origin并命名为goods_params参数管理需要维护动态参数以及静态属性。

2024-06-27 16:02:37 820

原创 【前端项目笔记】5 分类管理

在添加分类时,未选择父级分类,则默认添加的分类是一级分类,若选择了父级分类,那么新添加的分类器父级分类id和等级都要随之更新。将当前分支保存到云端origin命名为goods_cate(带不带-u根据云端是否存在当前分支)Cascader 级联选择器:当一个数据集合有清晰的层级结构时,可通过级联选择器逐级查看并选择。git命令回顾(先本地后云端commit->push,先分支后主线merge)此时本地分支goods_cate已最新,云端分支还是旧的。此时本地master已最新,但是云端还是旧的。

2024-06-25 11:30:00 979

原创 【前端项目笔记】4 权限管理

效果展示:(1)权限列表(2)角色列表其中的分配权限功能。

2024-06-20 22:59:12 1122

原创 【前端项目笔记】3 用户管理

涉及表单、对话框、Ajax数据请求。

2024-06-19 15:33:17 1001

原创 【前端项目笔记】2 主页布局(选择器、生命周期函数)

element-ui提供的组件名称就是它的类名(1)基本选择器类型选择器 p/span/div……类选择器 (.classname)ID选择器 (#idname)通配选择器 ( * )(2)属性选择器选择具有特定属性或属性值的元素(3)伪类选择器 (:name)动态伪类(如 :hover)根据用户与元素的交互状态选择元素。目标伪类(如 :target)选择当前活动的目标元素。语言伪类(如:lang())基于元素的语言进行选择。(4)伪元素选择器。

2024-06-17 11:30:00 1463 3

原创 【前端项目笔记】1 登录与登出功能实现(flex)

向一个域发送请求,如果要请求的域和当前域是不同域,就叫跨域。例如:就是从 A 向 B 发请求,如若他们的地址。

2024-06-12 11:30:00 1563

原创 【JS红宝书学习笔记】第6章 集合引用类型 object / array / map / set

对象数组与定型数组Map、WeakMap、Set 以及 WeakSet 类型

2024-05-30 21:21:30 911 3

原创 【LeetCode刷题记录】207.课程表

你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1。在选修某些课程之前需要一些先修课程。先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi。例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1。请你判断是否可能完成所有课程的学习?如果可以,返回 true;否则,返回 false。

2024-05-26 15:54:39 1091

原创 【JS红宝书学习笔记】第5章 基本引用类型

计算代码运行时间。

2024-05-24 11:25:03 451

原创 【JS红宝书学习笔记】第4章 变量、作用域和内存

ECMAScript 变量可以包含两种不同类型的数据:原始值和引用值。原始值(primitive value)就是最简单的数据(Undefined、Null、Boolean、Number、String 和 Symbol,其中之一),引用值(reference value)则是由多个值构成的对象。引用值是保存在内存中的。与其他语言不同,JavaScript 不允许直接访问内存位置,因此也就不能直接操作对象所在的内存空间。在操作对象时,实际上操作的是对该对象的引用(reference)而非实际的对象本身。

2024-05-23 11:17:44 759

原创 【JS红宝书学习笔记】第3章 语言基础var/let/const/array

语句以分号结尾。省略分号意味着由解析器确定语句在哪里结尾。

2024-05-12 16:27:03 886

原创 【JS红宝书学习笔记】第1、2章 初识JS

JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。

2024-05-11 11:42:04 1020

原创 【LeetCode刷题记录】130. 被围绕的区域

给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。输入:board = [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”,“X”],[“X”,“X”,“O”,“X”],[“X”,“O”,“X”,“X”]]输出:[[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“O”,“X”,“X”]]

2024-05-10 16:37:53 498

空空如也

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

TA关注的人

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