摘要: vue 中 v-model 可以实现数据的双向绑定,但是为什么这个指令就可以实现数据的双向绑定呢? 其实 v-model 是 vue 的一个语法糖。即利用 v-model 绑定数据后,既绑定了数据,又添加了一个 input 事件监听。 实现原理: v-bind绑定响应数据; 触发input事件并传递 阅读全文
posted @ 2025-10-16 19:50 HECHEN**** 阅读(21) 评论(0) 推荐(0)
摘要: 从 React Hook 的实现角度看,React Hook 是根据 useState 调用的顺序来确定下一次重渲染时的 state 是来源于哪个 useState,所以出现了以下限制: 不能在循环、条件、嵌套函数中调用 Hook; 必须确保总是在你的 React 函数的顶层调用 Hook; use 阅读全文
posted @ 2025-10-16 19:26 HECHEN**** 阅读(116) 评论(0) 推荐(0)
摘要: 当一个Vue实例创建时,Vue会遍历data中的属性,用 Object.defineProperty(vue3.0使用proxy )将它们转为 getter/setter,并且在内部追踪相关依赖,在属性被访问和修改时通知变化。 每个组件实例都有相应的 watcher 程序实例,它会在组件渲染的过程中 阅读全文
posted @ 2025-09-04 23:52 HECHEN**** 阅读(14) 评论(0) 推荐(0)
摘要: 在新老虚拟 DOM 对比时: 首先,对比节点本身,判断是否为同一节点,如果不为相同节点,则删除该节点重新创建节点进行替换; 如果为相同节点,进行 patch Vnode,判断如何对该节点的子节点进行处理,先判断一方有子节点一方没有子节点的情况(如果新的 children 没有子节点,将旧的子节点移除 阅读全文
posted @ 2025-08-21 19:07 HECHEN**** 阅读(15) 评论(0) 推荐(0)
摘要: 什么是 prop drilling? Prop Drilling (属性钻取)是 React 应用中常见的问题, 指将数据或状态从顶层组件逐级向下传递到深层嵌套子组件的过程,即使中间组件并不需要这些数据。 这种做法会导致代码冗长、难以维护,并增加中间组件的复杂性。 避免方法: 使用 Context 阅读全文
posted @ 2025-08-20 18:50 HECHEN**** 阅读(28) 评论(0) 推荐(0)
摘要: 什么是执行上下文 执行上下文是评估和执行 JavaScript 代码的环境的抽象概念。 执行上下文类型: 全局执行上下文, 函数执行上下文, eval 函数执行上下文; 全局执行上下文: 任何不在函数内部的都是全局执行上下文, 它首先会创建一个全局的 window 对象, 并且设置 this 的值等 阅读全文
posted @ 2025-08-19 22:21 HECHEN**** 阅读(10) 评论(0) 推荐(0)
摘要: 全局作用域: ● 最外层函数和最外层函数外面定义的变量拥有全局作用域; ● 所有未定义直接赋值的变量自动声明为全局作用域; ● 所有window对象的属性拥有全局作用域; ● 全局作用域有很大的弊端,过多的全局作用域变量会污染全局命名空间,容易引起命名冲突。 函数作用域: ● 函数作用域声明在函数内 阅读全文
posted @ 2025-08-19 18:05 HECHEN**** 阅读(2) 评论(0) 推荐(0)
摘要: JavaScript共有八种数据类型,分别是: Undefined、 Null、 Boolean、 Number、 String、 Object、 Symbol、 BigInt。 其中 Symbol 和 BigInt 是 ES6 中新增的数据类型: Symbol 代表创建后独一无二且不可变的数据类型 阅读全文
posted @ 2025-08-19 16:24 HECHEN**** 阅读(8) 评论(0) 推荐(0)
摘要: 浏览器的垃圾回收机制? 垃圾回收的概念:JS代码运行时,需要分配内存空间来储存变量和值。当变量不再参与运行时,就需要系统收回被占用的内存空间。 垃圾回收机制: JS具有自动垃圾回收机制,会定期对那些不再使用的变量、对象所占用的内存进行释放; 原理就是找到不再使用的变量,释放掉其所占用的内存。 JS中 阅读全文
posted @ 2025-08-19 16:07 HECHEN**** 阅读(7) 评论(0) 推荐(0)
摘要: 对象创建的方式有哪些? 对象继承的方式有哪些? 阅读全文
posted @ 2025-08-19 16:05 HECHEN**** 阅读(6) 评论(0) 推荐(0)