- 博客(222)
- 资源 (6)
- 收藏
- 关注
原创 JavaScript基础
装箱和拆箱操作是指在基本类型和对应的对象类型之间进行自动转换的过程。例如,当对基本类型的值调用对象的方法时,会自动将基本类型转换为对象类型,这就是装箱操作。反之,当从对象类型获取基本类型的值时,会自动将对象类型转换为基本类型,这就是拆箱操作。出现小数精度丢失的原因是 JavaScript 采用的是 IEEE 754 标准的双精度浮点数表示法,这种表示法在某些情况下无法精确表示小数。JavaScript 对象的底层数据结构是基于键值对的哈希表。每个对象都有一个原型链,通过原型链可以访问到对象的属性和方法。
2025-03-04 17:21:09
329
原创 【无标题】
的函数,它的主要功能是处理文本复制到剪贴板的操作,并根据操作的成功或失败给出相应的提示信息。对象,它是一个用于处理剪贴板操作的 JavaScript 库。总的来说,这段代码实现了一个简单的文本复制到剪贴板的功能,并通过。组件弹出一个错误的提示信息,内容为 “Copy error”。当复制操作成功时,会调用。组件弹出一个成功的提示信息,内容为。函数,该函数返回要复制的文本内容。对象,配置对象中定义了一个。是触发复制操作的事件对象。在函数内部,首先创建了一个。函数,该函数同样使用。是要复制的文本内容,
2025-03-04 14:17:41
108
原创 vuex中的state是响应式的吗?
这种响应式的特性使得 Vuex 成为管理应用状态的强大工具,因为它允许你在组件之间共享状态,并且确保状态的更改能够被正确地反映在所有依赖于这些状态的组件中。中的数据时,依赖于这些数据的 Vue 组件会自动更新。这是通过 Vue 的响应式系统实现的,该系统使用了 ES6 的。中的数据发生变化时,Vue 会自动更新组件的视图,以反映这些变化。是响应式的,组件的视图会自动更新以显示新的计数值。对象,并在组件中使用它时,Vue 会将这个。在 Vue.js 中,Vuex 的。在你的组件中,你可以使用。
2025-03-04 11:06:48
343
原创 SSE 的链接关闭后,客户端如何知道
请注意,SSE 连接的关闭可能是由于多种原因引起的,例如网络问题、服务器端关闭连接或客户端主动关闭连接。事件添加了一个事件监听器,当连接关闭或发生错误时,该监听器会被触发。事件处理程序中,你可以记录错误信息、尝试重新连接或执行其他适当的操作。事件会被触发,客户端可以在该事件处理程序中执行相应的清理或重试逻辑。事件添加一个事件监听器,以便在接收到服务器发送的消息时进行处理。在服务器发送事件(SSE)中,当连接关闭时,客户端可以通过监听。事件时,你可能需要考虑不同的情况并采取相应的措施。
2025-03-04 11:01:20
272
原创 localStorage中的数据变化时,如何监听这些变化
检查是否已存在相同的脚本:通过检查页面上是否已经存在一个具有相同 ID 的<script>标签。如果存在,则认为该脚本已经被加载过。动态创建和加载脚本:如果脚本不存在,则创建一个新的<script>元素,设置其idsrc属性,并将其异步加载到文档的<body>中。处理加载成功和失败成功:在脚本加载成功后(即onload事件触发),使用setTimeout延迟 500 毫秒后调用resolve(),表示加载成功。同时清除onload和onerror事件处理程序。失败:在脚本加载失败时(即onerror。
2025-03-03 15:01:58
175
原创 在Web开发中,优化资源文件的大小
asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).This can impact web performance.Assets: f2b752e966b6e8a1.worker.js (869 KiB) static/img/BG1.f4d51425.png (697 KiB) static/js/app.ea4bdf9a.js (416 KiB) static/img
2025-02-28 14:27:29
363
原创 src/components/tinymce/index.vue
这个代码块是一个基于 Vue.js 的组件,用于集成 TinyMCE 富文本编辑器。以下是对代码块中各个部分的解释:解释:使用了一个 容器来包裹一个 元素。 的类名根据 状态动态绑定,如果 为真,则添加 类。 元素的 属性是动态生成的,确保每个实例都有唯一的 ID。 部分解释:Props:定义了三个属性 , , ,分别表示编辑器的高度、是否允许调整大小和初始值。Data:定义了一些内部状态变量,如 , , , 。Mounted:在组件挂载时调用 方法。Met
2025-02-26 15:08:34
1074
原创 4年前端大厂开发31k薪资需要会哪些
● 扎实的前端基础知识:对 Event Loop, 浏览器渲染原理,渲染帧,垃圾回收机制,ast语法树掌握● 深入理解Vue,React原理, 并研究过其内部实现;● 对Vue2/3响应式原理实现包括 对象 数组等数据类型的监听有深入的研究;● Vue3相对于Vue2性能上做的优化提升:如diff算法优化, 静态标记和提升,事件监听缓存也有自己的理解● 掌握Vue和React框架的diff算法,组件粒度的更新渲染机制;
2025-02-21 17:01:26
1316
原创 try...catch 方法详解
是 JavaScript 中用于处理异常的一种结构化方式,它允许你编写可能会抛出错误的代码,并在错误发生时进行捕获和处理,从而增强程序的健壮性。以下是关于方法的详细介绍。
2025-02-21 16:18:04
412
原创 Promise.all() 方法详解
是 JavaScript 中用于处理多个Promise的一个非常有用的方法,它允许你并行处理多个异步操作,并在所有操作都完成后得到一个统一的结果。以下是关于。
2025-02-21 14:57:49
469
原创 企业内部真题
1、一个是铺平的数组改成树的结构,递归一下就可以了,第二个是用react写一个短信验证码发送,第三个是链表翻转2、写个hoc实现传入一个组件,渲染这个组件,在组件染失败的情况下渲染特定的失败组件并上报失败信息,渲染成功上报渲染成功信息,点击上报点击信息3、for循环100个接口,每次只调3个4、然后是深拷贝 forwardref用法。
2025-02-20 16:16:33
747
原创 前端开发 - 拆分业务代码
在“Project Explorer”视图中,展开项目的“lib”文件夹或依赖管理相关的节点,可以查看项目的依赖列表。例如,一个电商项目可以分为用户模块、商品模块、订单模块等,每个模块独立开发和部署,只在需要的时候才加载相应的模块,避免一次性加载所有模块导致的重复依赖问题。:对于一些不常用的功能或依赖,可以采用懒加载的方式,即在需要使用时才加载相关的依赖。比如,在一个大型的企业级应用中,某些报表功能可能不是经常使用,就可以在用户请求报表时再加载相关的报表生成依赖,而不是在应用启动时就全部加载。
2025-02-20 14:57:13
913
1
原创 24-25年裁员潮下的前端面试经验分享
初始的 Promise 被拒绝,值为1。.catch捕获了拒绝值1,并返回2。新的 Promise 被 resolved,值为2。最后的.then方法接收到值2,并打印出来。2。
2025-02-19 11:13:49
119
原创 最近真实企业场景真题
requestAnimationFrame 是一种用于执行动画的 JavaScript 方法,它会告诉浏览器希望执行一个动画,并要求浏览器在下次重绘之前调用指定的回调函数来更新动画。它能够根据浏览器的刷新率来调度动画帧,从而实现更加流畅和高效的动画效果。常用于游戏开发、数据可视化动画等需要连续高频执行动画的场景。
2025-02-18 09:22:57
831
原创 面试题 1. 简述Vue 3相比Vue 2有哪些主要改进 ?
Vue 3通过这些改进,使得其在性能、可维护性和开发体验等方面都有了显著的提升。这些新特性不仅改善了开发体验,还提升了应用的性能和灵活性。因此,对于需要进行大规模前端开发的项目来说,选择Vue 3作为开发框架将是一个明智的选择。
2024-12-16 17:29:06
969
原创 创建一个 React 项目
my-app/│ └── ...├── src/│ └── ...└── yarn.lock (如果使用 Yarn)public/:存放公共文件,如 HTML 模板、favicon 等。src/:存放源代码文件,包括组件、样式和入口文件。:项目的配置文件,包含依赖项、脚本等信息。README.md:项目的说明文档。
2024-12-13 14:06:08
752
原创 在 React 中,创建和嵌套组件、添加标签和样式、显示数据、渲染条件和列表、对事件做出响应并更新界面以及在组件间共享数据是常见的任务
在 React 中,创建和嵌套组件、添加标签和样式、显示数据、渲染条件和列表、对事件做出响应并更新界面以及在组件间共享数据是常见的任务。这些是 React 开发中一些基本的操作和概念。通过掌握这些技巧,你可以构建出功能丰富且高效的 React 应用。Context API 允许你在组件树中传递数据而不必手动地通过每一个层级传递 props。你可以使用函数组件或类组件来创建组件。你可以通过在 JSX 中嵌套组件来实现这一点。直接在 JSX 中使用 HTML 标签。直接在 JSX 中插入数据。
2024-12-12 14:31:20
776
原创 H5 页面中获取微信步数
以上代码仅为示例,实际的实现可能会根据微信开放平台的接口变化和具体的业务需求有所不同。在开发过程中,你需要仔细阅读微信开放平台的开发文档,确保正确地实现授权和获取步数的功能。同时,要注意保护用户的隐私和数据安全。
2024-11-07 13:42:10
1025
原创 基本法代码阅读
这个queryForm将查询条件的当前页码重置为第一页。通过 Vuex 分发一个名为的动作,并将当前的查询条件作为参数传递给该动作。这个方法通常用于表单查询操作,当用户提交查询表单时会调用这个方法,从而重新加载第一页的数据。
2024-10-28 10:42:02
335
原创 【无标题】
整体来看,这个函数的目的是清理和整理员工的历史记录,确保每个记录都有正确的结束日期,并且只包含有效的员工记录。: 对于每个员工记录,检查当前记录的渠道是否与之前记录的不同,并且验证状态不是。: 如果不是第一个记录,计算上一个记录的雇佣日期减去一天作为当前记录的结束日期。这可能是为了排除某些特定的记录,例如已经退休或无效的员工记录。: 如果员工有退休日期,则将该日期设置为员工的结束日期。: 将计算出的结束日期赋值给当前员工的记录。数组中的每个元素(每个员工的记录)。: 检查员工的退休日期是否存在且有效。
2024-10-18 16:48:41
288
原创 Vue-router 导航守卫有哪些
注册,在导航被确认之前调用,通常用于确保路由的异步操作完全解析[注册,在路由跳转完成后触发。常用于记录日志或执行一些全局操作[注册,在路由跳转前触发。主要用于登录验证、权限检查等场景。这些守卫在组件级别执行,允许对组件实例进行更细粒度的控制[守卫,这些守卫只适用于特定的路由[:在路由配置上直接定义。
2024-10-09 17:18:57
480
原创 金三银四:20道前端手写面试题
话说跳槽好时节,金三银四,金九银十。我在上周也成功跳槽并入职了新公司,跳槽的路途坎坷,遇到的面试也有奇奇怪怪的。在上一篇文章中,有答应大家整理出部分手写面试题给大家。这不, 现在就来了!本文的所有题目,大部分是我自己去面试的时候遇到的。如有错误或者更好的答案,欢迎大家评论区留言~最后希望大家能理解这些题并知晓why,有些题,并不是单单只是用来考你。而是变相的让你理解这其中深藏的意义。以上的题目,我的答案并非就是最优答案。若你有更好的解决方法,请不要吝啬,大胆的敲到评论区!
2024-09-29 16:48:54
1255
原创 每日五道前端面试题--day7
DOM是文档对象模型,英文名为document object model,表示将文档作为一个对像对待,而这个对象上的属性和方法主要是为了用来操作网页内容。BOM是浏览器对象模型,英文名为browser object model,表示将浏览器作为一个对像对待,而这个对象上的属性和方法主要是为了用来和浏览器进行交互以及调用浏览器提供的api。BOM的核心是window对象;window本身具有双重角色:js访问浏览器窗口的一个接口;window本身是一个Global对象;
2024-09-29 14:59:35
786
原创 2618. 检查是否是类的对象实例
本题要求在instanceof的基础上支持基本类型,那么使用Object(obj)即可将基本类型转为引用类型。可以传递给函数的数据类型没有限制。例如,值或类可能是 undefined。迭代实现instanceof。递归实现instanceof。
2024-09-29 10:54:24
265
原创 2073. 买票需要的时间
有 n 个人前来排队买票,其中第 0 人站在队伍 最前方 ,第 (n - 1) 人站在队伍 最后方。继续这个过程,队伍在第 6 秒变为[1]。在最前面的人买完票后,队伍在第 1 秒变成 [3,2,1]。队伍一开始为 [2,3,2],第 k 个人以下划线标识。输入:tickets = [2,3,2], k = 2。继续这个过程,队伍在第 2 秒变为[2,1,2]。继续这个过程,队伍在第 3 秒变为[1,2,1]。继续这个过程,队伍在第 4 秒变为[2,1]。继续这个过程,队伍在第 5 秒变为[1,1]。
2024-09-29 10:40:02
247
原创 Vue 的响应式原理中 Object.defineProperty 有什么缺陷?为什么在 Vue3.0 采用了 Proxy,抛弃了 Object.defineProperty?
因此,后添加的属性需要手动再次劫持,而proxy代理了整个对象,不需要预先劫持属性,而是在获取/修改的时候,通过get/set方法来拦截,从而总是能捕获到属性变化[综上所述,Vue 3.0 采用 Proxy 替代 Object.defineProperty,解决了后者在数组监听、深度监听性能、新增删除属性监听等方面的缺陷,同时提高了性能和代码的简洁性。:对于深层次的对象或大型对象,使用 Object.defineProperty 进行深度监听时,需要递归遍历对象的每一个属性,这在初始化时会消耗大量的性能[
2024-09-29 09:37:30
509
1
原创 每日前端手写题
这个插件是针对 React 应用的,并配置了一些特定的选项,如是否启用 Ant Design、Dva 的配置、国际化设置、动态导入设置以及 PWA 配置。这个对象包含了插件数组、定义的环境变量、路由配置、主题配置、代理配置、加载器选项、Webpack 链式操作配置等。这些导入语句分别从不同模块导入了所需的依赖项,包括操作系统相关的功能、路由配置、Webpack 插件配置、默认设置和一个用于处理路径的库。整体来看,这段代码是一个典型的 Umi 配置文件,它通过组合各种配置项来定制项目的构建和运行时行为。
2024-09-12 14:56:43
503
原创 问题及解决方案汇总
问题描述: create-react-app 打包项目run build 增加进度条信息。问题描述: create-react-app脚手架项目怎么添加proxy代理请求。问题描述: 在使用hashRouter的情况下怎么实现类似锚点跳转。操作: 找到scripts目录下的build.js 增加以下代码。操作: 找到项目根目录下的package.json,增加以下代码。解决方案: 使用Element.scrollIntoView()解决方案: package.json增加代理请求配置。
2024-09-12 14:20:04
387
原创 loginApi
这里的认证信息是一个Base64编码的字符串,解码后是客户端ID和密钥的组合,例如:“mall-admin:123456”。函数用于通过POST请求发送用户的登录信息(包括用户名、密码、验证码等),并返回一个包含登录结果的Promise对象。这些类型可能用于类型检查,以确保传入的数据和返回的结果符合预期的格式。这个函数可能是用来发送HTTP请求的工具函数。的函数,它用于处理用户登录的API请求。是一个用于构建表单数据的类,可以方便地添加键值对。类型的函数的返回值类型。的导出函数,它接收一个。
2024-08-07 09:34:56
606
原创 es6解构赋值
总的来说,解构赋值是ES6中一个非常实用的新特性,它使得我们在处理数组和对象时能够更加简洁和高效地编写代码。:解构赋值还可以为提取的值设置别名,这在使用长对象属性名或者不想使用原有属性名时非常有用。解构赋值在ES6中被引入,主要目的是为了简化代码,提高代码的可读性。:解构赋值还支持设置默认值,当解构的源数据中没有对应的值时,可以使用默认值。:当我们需要从数组中提取多个值时,可以使用数组解构。:对于对象,我们同样可以使用解构来提取属性值。,它允许我们从数组或对象中提取值并赋给对应的变量。
2024-04-12 14:44:52
331
原创 数组常用方法
第一个参数是回调函数,它可以接受四个参数:累积器(accumulator)、当前处理的元素值(currentValue)、当前处理元素的索引(index)和当前正在操作的数组对象(array)。第一个参数是回调函数,它可以接受三个参数:当前处理的元素值currentValue、当前处理的元素索引index、当前正在操作的数组对象arr。element表示在每次迭代中,将要被赋值为迭代对象中下一个元素的变量,arr参数是一个可迭代对象,例如数组或字符串。用于对数组中的元素进行累积操作,将数组缩减为一个值。
2024-04-10 09:26:25
910
原创 前端 Bundle Splitting 如何实现 详解
综上所述,前端 Bundle Splitting(代码分割)可以通过多种方式实现,包括动态导入、Webpack 的 splitChunksPlugin、React Router 的懒加载和 Vue.js 的异步组件等。前端 Bundle Splitting(代码分割)是一种将资源拆分成更小、独立的模块的技术,以优化加载时间和缓存。:React Router 支持懒加载组件,只有当路由被访问时才会加载对应的组件。:Vue.js 支持异步组件,只有当组件被渲染时才会加载对应的组件。
2024-04-08 14:45:48
717
原创 vue中$nextTick的使用
是一个用于延迟执行一段代码的实例方法。它的作用是在DOM更新后立即执行回调函数,确保在DOM更新完成后再进行操作。是Vue中处理DOM更新和异步操作的重要工具,它可以确保在DOM更新完成后再执行相关的代码,避免出现不可预测的错误和问题。
2024-02-28 14:35:07
660
原创 vue中$set
是Vue中处理响应式数据的重要工具,尤其是在动态添加属性或更新数组和对象时,它可以确保数据的一致性和视图的同步更新。是一个用于向响应式对象中添加一个属性并确保新属性同样是响应式的实例方法。
2024-02-28 14:27:41
1152
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人