- 博客(79)
- 收藏
- 关注
原创 有哪一些解放生产力的AI工具【前端】
现在有很多 AI 工具可以大幅提升前端开发的效率,解放生产力 🚀。自动分析代码错误,提供修复建议(比 ChatGPT 更智能的代码解释)。AI 代码补全,支持 VS Code、JetBrains 等 IDE。AI 代码编辑器,增强 VS Code,提供智能代码解释和补全。自动生成 UI 组件,智能对齐布局,提高设计协作效率。3D UI 组件 AI 生成,适合 WebGL 开发。本地 AI 代码补全,保护隐私,支持多种语言。部署自己的 AI 代码助手,解答前端问题。代码解释助手,适合快速理解不熟悉的代码。
2025-03-25 10:49:09
1008
原创 VSCode 终端显示“pnpm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本”
此时再输入 get-ExecutionPolicy ,显示 RemoteSigned 即可正常执行 pnpm 命令。此时再输入 get-ExecutionPolicy ,显示 RemoteSigned 即可正常执行 pnpm 命令。2.用set-ExecutionPolicy RemoteSigned命令更改状态即可。1.用get-ExecutionPolicy命令在vscode终端查询状态。返回 Restricted 说明状态是禁止的。3.如果提示需要管理员权限,可加参数运行。
2024-12-29 10:26:40
778
原创 uniapp不能直接修改props的数据原理浅析
在 Vue.js 中,一般不推荐在子组件中直接修改 props。这是由于 Vue 的响应式原理决定的。当你将一个对象作为 prop 传递给子组件,并在子组件中修改这个对象的属性,父组件并不能感知到这个修改。这是因为 Vue 只会关注对象属性的 getter 和 setter,当你在子组件中直接修改对象的属性,getter 和 setter 并没有触发,所以 Vue 无法感知到这个修改。避免直接修改prop,因为每当父组件重新渲染时,该值都会被覆盖。相反,请根据data的值使用数据或计算属性。
2024-12-29 09:47:23
652
原创 action-sheet组件封装
错误的原因通常是callback变量没有正确地引用一个函数。确保callback是一个函数,并且没有被错误赋值为其他类型。使用来检查callback是否为函数。在赋值callback时,确保它是一个有效的函数引用。
2024-12-16 09:44:37
291
原创 何谓节流和防抖?
电梯里第一个人进来后,等待15秒。如果过程中又有人进来,15秒等待重新计时,直到15秒后开始运送,这是防抖。防抖触发高频率事件时n秒后只会执行一次,如果n秒内再次触发,则会重新计算。函数防抖一定连续触发的事件,只在最后执行一次,而函数节流一段时间内只执行。只需窗口调整完成后,计算窗口大小。高频事件触发,每次触发事件时设置一个延迟调用方法,并且取消之前延时。简单概括:每次触发事件时都会判断是否等待执行的延时函数。电梯第一个人进来后,15秒后准时运送一次,这是节流。防抖是将多次执行变为最后一次执行,
2024-06-11 10:47:26
523
原创 uniapp 地图分幅网格生成 小程序基于map组件
// 获取小数部分const fractional = function(x) { x = Math.abs(x); return x - Math.floor(x);}const formatInt = function(x, len) { let result = '' + x; len = len - result.length; while (len > 0) { result = '0' + result; len--; } return result;}
2024-04-09 10:13:52
506
原创 定时器越走越快的原因
其实原因很简单,在多次点击按钮时,多次创建了定时器,所以明面上看是“定时器越走越快”,其实是“多次初始化定时器”。所以并不是定时器越走越快,而是有多个定时器在执行,定时器里面的程序执行的频率提高了。方式二:添加一个开关,让这个开关默认为true,第一次点击将其变为false,点击事件的执行需要判断这个开关是否为true,为true执行,false不执行。方式一:因为问题出现在“多次初始化定时器”,那就要在每次初始化定时器之前先执行清除操作,保证只有一个定时器在执行,就不会出现这样的问题了。
2024-01-25 18:18:17
914
原创 node管理工具NVM
/ 安装指定版本的node: nvm install node版本号(如:nvm install 14.16.0)// 设置node别名 nvm alias current-version node版本号。// 卸载指定版本的node nvm uninstall node版本号。// 取消别名 nvm unalias current-version。// 使用指定版本的node nvm use node版本号。// 使用最新版本的node nvm use node。
2024-01-25 18:14:12
409
原创 节流和防抖
电梯里第一个人进来后,等待15秒。如果过程中又有人进来,15秒等待重新计时,直到15秒后开始运送,这是防抖。防抖触发高频率事件时n秒后只会执行一次,如果n秒内再次触发,则会重新计算。函数防抖一定连续触发的事件,只在最后执行一次,而函数节流一段时间内只执行。只需窗口调整完成后,计算窗口大小。高频事件触发,每次触发事件时设置一个延迟调用方法,并且取消之前延时。简单概括:每次触发事件时都会判断是否等待执行的延时函数。电梯第一个人进来后,15秒后准时运送一次,这是节流。防抖是将多次执行变为最后一次执行,
2023-10-31 13:55:43
176
原创 js 数组去重
如果数组当前对象的name不在obj{},就将当前对象的name加入到空对象,并将当前对象push到积累变量total数组里;通过数组的reduce()方法对数组的对象从左到右进行处理,定义一个空对象obj{};可以判断多个属性,这里判断了两个条件,(id 和 name)如果当前对象的name存在obj{},则跳过push操作。1、使用reduce()方法对象数组去重。4、使用ES6中的map实现。3、使用双重循环实现。
2023-09-27 16:53:26
172
原创 为什么 0.1+0.2 不等于 0.3
具体来说,0.1 和 0.2 都是无限循环小数,无法用二进制精确地表示。在 JavaScript 中,这些小数会被转换成最接近它们的可表示值,然后再进行计算。因此,0.1 和 0.2 被转换成的值可能会存在精度误差,导致它们的和不等于 0.3。在 JavaScript 中,0.1 + 0.2 的结果不等于 0.3,这是因为在 JavaScript 中采用的是双精度浮点数格式(64 位),而在这种格式下无法精确表示某些小数,因此在进行计算时会出现精度误差。为什么 0.1+0.2 不等于 0.3。
2023-09-27 16:51:29
6210
7
原创 JavaScript常见面试题
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
2023-08-07 14:07:57
175
原创 uni.chooseLocation 安卓端 无法显示地址列表?
这里有个巨坑,如果你真的去填写SHA1值,你会发现地址列表还是不会展示,需要将SHA1换成你证书的 MD5 值。查看证书信息: keytool -list -v -keystore 你的证书名称.keystore。高德官方申请Android服务平台时,提示填写SHA1值,填写之后发现还是不生效?uni.chooseLocation 安卓端 无法显示地址列表?安卓获取App应用的签名MD5。
2023-08-03 18:11:22
683
原创 vue的生命周期
Vue 实例从创建到销毁的过程就是生命周期。从开始创建,初始化数据,编译模板,挂载 Dom 到渲染,更新到渲染,销毁等一系列过程,称之为生命周期Vue生命周期共有8个阶段,分别为:beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroye。
2023-08-03 18:09:17
497
原创 text嵌套text标签,点击事件失效
公司的小程序要增加一个复制订单编号的需求,原本订单编号是用text标签进行展示的,新增按钮时候自然而然想到了在里面嵌套一个text标签,然后增加了一个点击事件 bindtap ,但是这个事件完全不生效,在里面随意打印一串数字都不出来,然后就走上了排查问题之路。最开始尝试的是认为可能是层级问题,点击不到按钮所以点击时间不生效,因此给了按钮一个相对定位并给了999的层级,但是依然不生效;
2023-04-03 16:25:55
704
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人