- 博客(21)
- 收藏
- 关注
原创 Vue 项目配置 Husky + lint-staged 完整流程(分调用方式)
流程合理性:先初始化 Git 仓库(Husky 依赖)→ 初始化 Husky(接管钩子)→ 配置 lint-staged(精准检查暂存区),完全符合工具依赖链条;最终效果:两种调用方式功能一致,均能实现「提交前自动修复暂存区代码、阻断不规范提交」,兼顾代码质量和执行效率。
2025-11-03 20:34:59
1109
原创 Vue 项目中 ESLint 与 Prettier 完美配合配置指南
ESLint 与 Prettier 完美配合的核心是 “让 ESLint 接管 Prettier 的格式化工作规则来源:Prettier 格式化规则写在,ESLint 代码质量规则写在;协同桥梁将 Prettier 规则转为 ESLint 可识别的错误,解决两者规则冲突;编辑器触发:VSCode 通过配置,让保存时自动触发 ESLint 修复,实现 “格式 + 质量” 一键搞定。
2025-11-03 12:53:01
1594
原创 vue学习日记-有状态方法
函数内部会维护自己的 “内部状态”(比如变量、计时器等),且这些状态会随着函数的调用而变化。以代码中的debounce(防抖)函数为例:防抖的原理是 “当事件触发后,等待一段时间再执行,如果这段时间内事件再次触发,则重新计时”。为了实现这个功能,debounce内部会维护一个计时器 ID(这就是它的 “状态”),用于记录当前等待的计时。每次调用防抖函数时,它都会根据这个计时器 ID 来判断是否需要重新计时。methods: {// 响应点击}, 500)这里的click是一个被debounce。
2025-10-16 23:53:14
464
原创 vue学习日记-DOM 更新时机
nextTick的核心作用是解决 “数据更新” 与 “DOM 更新” 不同步的问题。当你需要在数据变化后立即操作更新后的 DOM 时,就需要用nextTick等待 DOM 渲染完成。代码中的只是让写法更简洁(因为nextTick// DOM 已更新console.log('DOM 更新完成')})
2025-10-16 23:45:17
272
原创 js学习日记-JavaScript 中构造函数与原型(prototype) 的结合使用
用Person构造函数创建带name属性的实例对象(如alice把所有实例都需要的sayHello方法放到里(共享)。实例(alice)调用sayHello时,会自动去原型上找到并执行,this指向实例自身,从而正确访问name。原型是构造函数的「共享仓库」,让所有实例共享方法 / 属性,实现代码复用和内存优化。
2025-10-15 21:18:24
404
原创 js学习日记-Object.create() 方法
定义一个「原型对象」,里面放共享方法sayHello。用创建新对象alice,让alice的原型指向。给alice添加自身属性name。alice调用sayHello时,通过原型链找到里的方法,成功执行。Object.create(原型对象)能直接创建一个以该对象为原型的新对象,从而实现原型继承和方法共享。
2025-10-15 21:18:16
339
原创 js学习日记-异步编程
代码缩进越来越深,可读性差(看久了头晕);维护难:中间加步骤(如 “验证手机号”)需要在嵌套里插代码;错误处理散:每步都要单独写错误判断,代码冗余。JavaScript 内置的异步操作管理对象,核心作用是 “把嵌套的回调变成平铺的链式调用,解决回调地狱”。回调函数:解决 “异步完成后执行逻辑” 的基础,但多步骤依赖会陷入嵌套地狱;Promise:基于回调函数优化,用链式调用把 “嵌套” 变 “平铺”,是现代开发处理异步的主流方式。如何正确使用回调函数?
2025-10-15 21:17:36
870
原创 js学习日记-箭头函数
箭头函数是匿名函数的简化写法,用=>代替function。语法规则:(可省略()(省略{}和returnthis继承外层作用域,不适合作为对象方法。最佳场景:作为回调函数(定时器、数组方法、事件处理等),让代码更简洁。
2025-10-15 00:04:34
421
原创 js学习日记-匿名函数
/ 这是一个"命名函数",因为它有名字"sayHello"console.log("你好呀!");// 可以通过名字调用它sayHello();// 输出:你好呀!这种有明确名字的函数,就叫命名函数。匿名函数,顾名思义,就是没有名字的函数。// 没有名字的函数,这就是匿名函数console.log("我是匿名函数");看起来很简单对吗?但这里有个问题:因为没有名字,我们不能直接调用它(你没法像调用命名函数那样,用一个名字加括号来执行它)。匿名函数就是没有名字的函数。
2025-10-15 00:04:26
337
原创 js学习日记-arguments 对象
argumentsarguments是普通函数内部的特殊对象,存储了所有传入的参数。作用:处理「参数数量不确定」的场景(如求和、拼接等)。特性:类数组(有length和索引,不是真正数组)。箭头函数中没有arguments。现代推荐:用剩余参数(...args)替代,更简洁灵活。
2025-10-15 00:04:09
416
原创 js学习日记-bool 类型累加 null 类型
要理解这句话,核心是掌握—— 当bool类型(布尔值truefalse)或null类型与整数进行加法运算时,JS 会自动把boolnull转换成对应的整数,再和整数相加。
2025-10-15 00:03:55
227
原创 js学习日记-字符串常用方法
作用:和indexOf相反,从字符串末尾往前找,返回指定字符 / 子串最后一次出现的索引;没找到返回-1。场景:获取文件后缀(比如从文件名中找最后一个的位置)、定位最后一个关键词。javascript运行// 例子 1:找"Hello World World"中"World"最后一次出现的位置// 输出:12(最后一个"World"从索引 12 开始)// 实际场景:获取文件名的后缀(比如 "image.png" → "png")// 找最后一个"."的位置// 从"."后面开始提取。
2025-10-14 14:39:26
405
原创 js学习日记-字符串的属性
属性归属作用单个字符串实例告诉你这个字符串是由哪个构造函数创建的(都是Stringlength单个字符串实例返回这个字符串的长度prototypeString构造函数给所有字符串添加共享的方法 / 属性日常开发中,length最常用(比如验证输入长度),prototype多用于扩展字符串功能,较少直接使用,主要用于判断数据类型(比如可以判断是否是字符串)。
2025-10-14 14:36:24
185
原创 js学习日记-理解代码
html预览<input id="test" type="button" value="提交"/>表示这是一个按钮;value="提交"表示按钮上显示的文字是 “提交”;id="test"给按钮设置了唯一标识(类似身份证),方便 JavaScript 找到它。javascriptalert("你好1");// 弹出提示框显示“你好1”alert("你好2");// 弹出提示框显示“你好2”这两个是普通函数,里面的alert()会弹出一个提示框,显示括号里的文字。
2025-10-14 14:31:22
305
原创 js的静态作用域
函数里的变量从哪里找,在你写代码的时候就定死了(看函数定义时嵌套在哪个作用域里),不管这个函数后来在什么地方被调用。这个规则是 JavaScript 变量查找的基础,理解了它,就能明白为什么有些变量能被访问,有些不能,以及为什么同一个变量名在不同地方可能代表不同的值。
2025-10-14 14:27:53
359
原创 js学习日记-闭包的初次理解
本文讲解了JavaScript中闭包的概念和特性。闭包是指内部函数可以访问外部函数的局部变量,即使外部函数执行完毕后,这些变量仍能被内部函数引用。文章通过生活比喻(房间与物品)和代码示例,说明闭包的两个核心特点:1)内部函数可访问外部变量;2)外部函数执行后变量仍驻留内存。闭包的形成需要两个条件:函数嵌套和内部函数被外部引用。常见用途包括保存临时状态和实现私有变量。本质上,闭包是JavaScript函数嵌套和作用域规则的自然结果。
2025-10-13 23:50:44
946
空空如也
我这个代码在输入t=12和12组数据后,虽然得出了正确的结果但停不下来了,请各位专家看看
2023-11-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅