Mc_Cain
Mc_Cain
Mc_Cain 的个人博客,记录前端学习、JavaScript、Vue、React 和开发实践。
28,165字博客总字数
1.5小时预计阅读
40篇博客总篇数
-人独立访客
-次累计访问

首页

技术文章

跨域

·1189字·3分钟

从同源策略讲起,用判断表说明协议/域名/端口任一不同即跨域,再逐一给出 CORS、Vite 代理、Nginx 反向代理、JSONP 与 WebSocket 五种方案及代码示例,最后附按场景选择的最佳实践。

技术文章

promise

·1339字·4分钟

系统整理 Promise:三种状态与不可逆的状态流转、then/catch/finally 实例方法,以及 all、allSettled、race、any 四个并发静态方法的机制对比表和完整实践示例。

技术文章

插槽

·229字·1分钟

用子组件与父组件的对照代码说明 Vue 插槽的两种用法:匿名插槽(默认插槽)通过 slot 占位、父组件用 #default 填充,具名插槽用 name 区分 header/footer,并给出 v-slot:xxx 的完整写法与 #xxx 简写。

面试

LazyMan函数实现

·441字·2分钟

经典面试题 LazyMan 的完整解答:先给出四组调用与预期输出,再用队列 + next() 链式驱动实现 eat、sleep、sleepFirst(sleepFirst 通过 unshift 插到队首),最后逐步拆解 setTimeout(next, 0) 触发队列执行的流程。

技术文章

生命周期

·229字·1分钟

把 Vue 生命周期归纳为创建、更新、卸载三个阶段,用组合式 API 代码对应 onBeforeMount/onMounted、onBeforeUpdate/onUpdated、onBeforeUnmount/onUnmounted 六个钩子,并标注各自能否访问 DOM,最后补充 beforeCreate、created 与调试用的 onRenderTracked、onRenderTriggered。

技术文章

watch监听器

·176字·1分钟

介绍 Vue watch 监听器的用法:用 ref 配合 v-model 监听单个变量,用数组同时监听多个变量(回调收到新旧值数组),并说明 deep 深度监听、immediate 立即执行与 flush 的 pre/sync/post 三种时机。

技术文章

Computed计算属性

·198字·1分钟

对比 Vue computed 计算属性的两种写法:选项式通过 get/set 同时支持读取与反向修改(示例用下划线拆分姓名),函数式只实现 get 逻辑、因此结果不可修改。

技术文章

to全家桶

·305字·1分钟

梳理 Vue 的 to 系列 API:toRef 把 reactive 的单个属性转成 ref(非响应式数据转不了),toRefs 批量转换并顺手手写了一遍底层实现,toRaw 则把响应式代理对象还原成普通对象,各附代码示例。

技术文章

响应式源码实现

·124字·1分钟

用 TypeScript 手写 reactive 的核心实现:基于 Proxy 拦截 get/set 两个操作,在 get 中通过 Reflect.get 读取属性、set 中通过 Reflect.set 写入,并说明用 Reflect 是为了避免 this 上下文错乱。

技术文章

Reactive全家桶

·343字·1分钟

讲清 reactive 与 ref 的区别(只收引用类型、不用 .value)及不能整体赋值的代理限制,并介绍 readonly 生成只读版本、shallowReactive 只做第一层浅响应、深层修改不触发视图更新的特点。