- 博客(82)
- 资源 (1)
- 收藏
- 关注
原创 js判断一个对象是否为空对象
在JavaScript中,判断一个对象是否为空对象可以通过几种不同的方法来实现。"空对象"通常指的是一个对象已经被初始化,但是没有任何属性或方法。
2024-04-17 13:54:13 229 1
原创 用structuredClone来实现深拷贝?
在JavaScript中,深拷贝(deep copy)意味着创建一个新对象,它的结构和原始对象相同,但是所有属性都是原始值的副本,而不是指向原始对象中的同一内存地址。这样做可以确保修改新对象不会影响原始对象。
2024-04-16 22:09:53 367
原创 前端性能监控、异常监控的一些记录
Sentry是一个开源的监控系统,能支持服务端与客户端的监控,还有个强大的后台错误分析、报警平台。支持几乎所有主流开发语言和平台,并提供了现代化UI,它专门用于监视错误和提取执行适当的事后操作所需的所有信息,官方提供了多个语言的SDK。还有一些其他的Fundebug、FrontJS、New Relic、Bugsnag、TrackJS、烛龙等等,,,听说过没用过,具体用的话再去查资料吧。在前端开发中,异常监控是一个重要的环节,它可以帮助开发者及时发现和修复应用中的问题,提升用户体验。用来监听页面的加载状态。
2024-03-31 23:08:58 732 1
原创 Radash一款JavaScript最新的实用工具库,Lodash的平替!
随着时间的推移,Radash 的社区可能会继续增长,提供更多的资源和支持。这样的设计使得 Radash 更加轻量级,项目中使用 Radash 时,只需要加载它本身,无需加载额外的依赖。Radash 是一个新兴的 JavaScript 实用工具库,它被设计为“新一代的 Lodash”,并且在 GitHub 上拥有较高的星标数和稳定的下载量。Radash 的源代码易于理解,对新手友好。)是一个逻辑运算符,它在左侧的操作数为null或undefined时,返回右侧的操作数,否则返回左侧的操作数。
2024-03-30 00:36:36 1400 1
原创 HarmonyOS入门--ArkTS--基本语法
Entry@Componentbuild() {@Entry:@Entry装饰的自定义组件将作为UI页面的入口。在单个UI页面中,最多可以使用@Entry装饰一个自定义组件。@Entry可以接受一个可选的LocalStorage的参数。@Component:@Component装饰器仅能装饰struct关键字声明的数据结构。struct被@Component装饰后具备组件化的能力,需要实现build方法描述UI,一个struct只能被一个@Component装饰。struct。
2024-03-28 18:31:10 1358
原创 HarmonyOS入门--页面和自定义组件生命周期
生命周期流程如下图所示,下图展示的是被@Entry装饰的组件(首页)生命周期。自定义组件和页面的关系:自定义组件:@Component装饰的UI单元,可以组合多个系统组件实现UI的复用,可以调用组件的生命周期。页面:即应用的UI页面。可以由一个或者多个自定义组件组成,@Entry装饰的自定义组件为页面的入口组件,即页面的根节点,一个页面有且仅能有一个@Entry。只有被@Entry装饰的组件才可以调用页面的生命周期。
2024-03-28 09:10:23 514
原创 webpack一些常用的Loader和Plugin
在Webpack 5中,一些常用的loader和plugin被内置,这意味着你不再需要显式地在配置文件中安装和配置它们。这里就说几个常见的,其他更多的去webpack5官网看吧。
2024-03-12 20:17:24 1446
原创 webpack如何去自定义一个Loader?(大白话,so easy!)
1、根据实际需求及问题做出分析,并制定解决方案2、创建自定义Loader并安装对应依赖3、配置webpack4、注意事项,兼容性、性能、技术时效性等等。5、发布生产前多测试,确保稳定性。
2024-03-12 13:02:17 843
原创 面试被问的性能优化(给我死记硬背!)
Vue.js 官方提供了一个预渲染工具 vue-server-renderer,可以使用它来生成静态的 HTML 文件。对于简单的 Vue 应用,可以使用预渲染技术。使用像 TerserPlugin 这样的工具来压缩 JavaScript 代码,使用 CSS 压缩插件(如 css-loader 的 minimize 选项)来压缩 CSS。SSR服务器端渲染,在服务器端将Vue组件渲染为HTML字符串,然后将其发送到客户端的技术,可以使用vue-server-renderer库来实现SSR。
2024-03-11 17:43:51 769
原创 vue3速查笔记
什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装。类似于vue2.x中的mixin。自定义hook的优势: 复用代码, 让setup中的逻辑更清楚易懂。
2024-03-10 23:54:01 1268
原创 关于webpack的一些记录
(HMR热更新),让开发时只重新编译打包更新变化的代码,不会打包整个代码包, 不变的代码使用缓存,从而更新速度更快。把代码进行分割成多个js文件,从而使单个文件体积更小,并行加载js速度更快。动态导入语法进行按需加载,从而达到需要使用时才加载该资源,不用时不进行加载。:进程启动通信都有开销的,要在项目比较大代码比较多处理时才有明显的效果)进行处理,让辅助代码从中引入,而不是每个文件都生成辅助代码,从而体积更小。对项目中图片进行压缩,体积更小,请求速度更快。排除或只检测某些文件,处理的文件更少,速度更快。
2024-02-29 14:29:00 928
原创 es6 Reflect
Reflect.getOwnPropertyDescriptor和Object.getOwnPropertyDescriptor的一个区别是,如果第一个参数不是对象,Object.getOwnPropertyDescriptor(1, ‘foo’)不报错,返回undefined,而Reflect.getOwnPropertyDescriptor(1, ‘foo’)会抛出错误,表示参数非法。未来,后者会被逐渐废除,请从现在开始就使用Reflect.defineProperty代替它。该方法返回一个布尔值。
2024-02-28 14:32:14 860
原创 Windows下安装Bun像Node或Deno的现代JS运行时
文章目录安装ChocolateyChocolatey需要解决的问题Chocolatey特性Deploy Anywhere You Have Windows/Cloud ReadyDeploy with Everything (能和任何自动部署工具整合)All Software Is a First Class CitizenChocolatey安装要求安装ChocolateyChocolatey 的使用查看帮助安装软件查找软件列出Windows系统已安装的软件choco配置列表升级软件卸载软件创建快捷方式安
2024-02-28 12:35:32 928
原创 el-input设置了type=“number“还能输入e和中文输入光标上移的问题记录
el-input设置type="number"可以输入e,输入中文光标上移等
2023-04-26 14:40:21 1562 4
原创 Component is not found in path “components/xxx/xxx“ (using by “pages/xxx/xxx“) 问题记录
Component is not found in path "components/xxx/xxx" (using by "pages/xxx/xxx") 问题
2022-11-04 11:24:31 14168 4
原创 Vue2.x 常用自定义指令directives
文章目录v-expandClick ----元素点击范围扩展指令v-copy ----文本内容复制指令v-screenfull ----元素全屏指令v-tooltip ----元素说明指令v-ellipsis ----文字超出省略指令v-backtop ----元素点击回到顶部指令v-empty ----空状态指令v-badge ----元素徽标指令v-draggable ----元素拖拽指令v-resize ----响应缩放指令v-format ----字符串整形指令v-LazyLo
2022-05-31 16:17:01 749
原创 代码整洁之道--直击痛点
都2022了,不会还有人不会用es6吧,不会吧不会吧直击痛点痛点1:if else直接拉满优化方案1:switch优化方案2:Object优化方案3:Map (终于可以写es6了,巨鸡冻)痛点2: 判断一些不确定的值优化方案1: ??空值合并运算符优化方案2:?.可选链接运算符之后再补充,未完待续???直击痛点痛点1:if else直接拉满当你接手一个别人开发新项目时,总会遇到页面if (xxx) {//做些什么} else if (xxx) {//做些什么} else if (xxx
2022-04-22 15:37:53 890 1
原创 vant问题记录
van-list初始化调用两次数据原因是有可能在数据没回来的时候load就监测到数据低于高度,也发送了一次,等到数据回来时已经请求两次了.解决方法:1.不让它初始化检查滚动位置 :immediate-check='false' // 是否在初始化时立即执行滚动位置检查2.offse默认300,给list个min-height...
2022-04-08 13:15:23 321
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人