- 博客(97)
- 收藏
- 关注
原创 JavaScript中手动实现一个new操作符的底层逻辑
3.若构造函数返回非null对象则返回它,否则返回新对象;要手动实现 JavaScript 中 new 操作符的底层逻辑,核心是模拟它在创建实例对象时的四步行为:创建空对象、绑定原型、执行构造函数、返回正确结果。需将类数组的 arguments 转为真实数组再剔除第一个参数(即构造函数本身) 若构造函数显式返回对象,则后续步骤需尊重该返回值3. 处理构造函数的返回值new 的特殊规则是:如果构造函数返回的是对象(含数组、函数、正则等引用类型),就直接返回它;否则才返回新创建的对象。
2026-05-18 22:57:31
230
原创 React Native 单元测试中第三方依赖的正确模拟策略
本文详解在 react native 中使用 react native testing library 进行组件单元测试时,为何必须对 redux、asyncstorage、firebase messaging 等外部依赖进行模拟,并提供可直接复用的 mock 配置方案与常见错误(如 messaging is not a function)的精准修复方法。若不模拟这些依赖,测试将:?因此,mock 不是“可选项”,而是强制要求——它确保测试仅验证组件自身的渲染逻辑、事件响应与状态流转。
2026-05-17 19:35:56
252
原创 MySQL触发器实现复杂业务逻辑校验_MySQL业务触发器实战
性能开销大,需索引优化;OLD 只读AFTER INSERT:NEW 只读(主键自增后已确定,不能再改)对 JSON 字段或生成列做校验时,注意 NEW 中的值已是表达式计算后的结果,不是原始输入如果触发器里误对 OLD 赋值(如 SET OLD.status = 'archived'),MySQL 会静默忽略,不报错也不生效——这是最难排查的坑之一触发器性能开销比预想中大得多每行变更都会同步执行触发器逻辑,哪怕只是几行 IF 判断 + SELECT 查询,也可能成为批量导入或高并发更新的瓶颈。
2026-05-16 00:19:52
178
原创 怎么对MongoDB数据进行批量部分更新_BulkWrite机制与性能优化
bulkWrite 把所有操作打包成一个 BSON 文档发送服务端对同集合的多个更新操作可能共用同一个索引扫描结果,而分散调用会重复走索引如果混入大量不匹配的 filter(比如查不到文档),bulkWrite 仍要解析每条指令,此时性能优势收窄甚至反转updateMany 和 bulkWrite 在部分字段更新时的区别updateMany 只能对整个匹配集统一应用同一套更新操作;必须用 bulkWrite,updateMany 做不到updateMany 的 $set 是静态的;
2026-05-15 22:52:51
236
原创 如何处理SQL存储过程存储过程循环陷阱_优化逻辑结构
优先用集合操作:把“逐条处理”转成“一批处理”,比如用 TOP (1000) + WHERE id > @last_id 分批若必须逐行,改用仅前向只读游标:DECLARE cur CURSOR FORWARD_ONLY READ_ONLY FOR ...,避免生成临时工作表注意游标中不要嵌套另一个游标——容易触发嵌套锁等待,死锁概率陡增@@FETCH_STATUS 判断失效导致无限循环怎么办?常见于游标未正确关闭、或 FETCH NEXT 后没立刻检查状态就做业务逻辑,结果最后一次取不到数据仍继续跑。
2026-05-15 22:51:40
165
原创 HTML怎么显示灵感便签关联项目_HTML拖拽绑定项目入口【详解】
拖拽时 dragstart 事件拿不到目标元素的项目 ID?在 dragstart 回调里用 event.target.closest('[data-project-id]') 替代直接读 event.target.dataset.projectId确保每个便签容器(不是内部文字)有 draggable="true",否则 dragstart 根本不会触发别依赖 event.dataTransfer.setData('text/plain', ...) 存 ID——字符串序列化后类型丢失,后续解析易错;
2026-05-15 22:50:29
208
原创 如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
用 IndexedDB 存储超大列表并支持二级索引,核心是分块写入 + 合理建模 + 复合索引设计。先归一化字段,明确主键与常用查询维度:主键建议用业务唯一 ID(如 id),而非自增数字,方便后续更新和关联 把高频筛选字段提前“扁平化”,例如原始数据含 {user: {name: 'A', dept: 'RD'}, status: 'active'},存为 {id: 'u1001', userName: 'A', dept: 'RD', status: 'active', …
2026-05-15 22:48:05
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅