- 博客(91)
- 问答 (4)
- 收藏
- 关注
原创 闭包到底是啥?
闭包是前端开发中的重要概念,指一个函数及其捕获的外部变量。文章通过示例展示了闭包的两种典型应用:1)模拟私有变量,通过内部函数访问外部函数变量实现数据封装;2)解决循环中的变量作用域问题,使用立即执行函数或let/const锁定变量值。此外还介绍了闭包在防抖节流中的应用原理,以及闭包通过作用域链保持外部变量引用的特性。文章指出,React Hooks、Vue响应式系统等现代前端技术都基于闭包实现状态管理。
2025-12-23 17:27:49
266
原创 谈谈你对Promise的理解?
Promise是JavaScript异步编程的核心,它通过状态管理和链式调用解决了回调地狱问题。文章详细介绍了Promise的创建、链式调用、错误处理机制,并展示了如何使用async/await简化异步代码。通过股票数据处理的示例,对比了传统回调和Promise写法的差异,凸显了Promise在时序控制上的优势。最后简要说明了Promise的实现原理:状态维护、回调队列和立即执行异步操作。Promise让异步代码更接近同步写法,提升了代码的可读性和可维护性。
2025-12-23 12:35:27
658
原创 对象的原型和原型链是怎么回事?
在 JavaScript 中,每个对象都有一个内部属性 [[Prototype]](规范中称为 internal slot),它要么指向另一个对象,要么为 null。这个机制使得对象可以“继承”其他对象的属性和方法——这就是原型的核心作用。虽然我们无法直接访问 [[Prototype]],但可以通过 Object.getPrototypeOf(obj) 或非标准的 obj.__proto__ 来查看它。知道了对象的原型是什么,那么怎么查看原型呢?
2025-12-22 17:06:11
491
原创 JS有那些数据类型?
这同样是一道面试中常见的问题。1. NullNull表示变量定义了但值为空。Null类型只有一个null值,null是一个关键字,大小写敏感,一般对象和数组可以初始化为null。Undefined表示变量未定义。Undefined类型只有一个undefined值,undefined是一个全局变量。可以确定undefined确实是一个全局变量,而null不是。既然undefined是一个全局变量,我们是不是可以更改undefined的值呢?在控制台尝试。
2025-12-22 14:04:25
547
原创 从vue2和vue3的区别聊起
Vue2与Vue3的主要区别包括:响应式原理(Vue2使用defineProperty,Vue3采用Proxy)、代码组织方式(选项式vs组合式API)、根节点数量(Vue3支持多根节点)、生命周期钩子命名优化,以及Vue3在编译和虚拟DOM方面的性能提升。这些改进使Vue3在开发体验、代码组织和运行效率上都有显著提升。
2025-12-19 17:23:53
1140
原创 C语言学习笔记(二二)
本篇主要介绍 C语言的while循环和for循环、以及atoi函数、shellsort排序函数、reverse函数、expand函数
2022-12-06 23:35:11
504
原创 C语言学习笔记(十八)
本篇主要解决 C语言按位运算的习题 函数setbits(x,p,n,y)、函数invert(x, p, n)、rightrot(x, n)
2022-12-02 23:19:20
737
原创 C语言学习笔记(十一)
练习1-22 编写一个程序,把较长的输入行“折”成短一些的两行或多行,折行的位置在输入行的第n列之前的最后一个非空格之后。要保证程序能够智能地处理输入行很长以及在指定列前没有空格或制表符时的情况。
2022-11-25 12:55:06
277
原创 C语言学习笔记(十)
练习1-21 编写程序entab,将空格串替换为最少来嗯的制表符和空格,但要保持单词之间的间隔不变。假设制表符终止位的位置与练习1-20的detab程序的情况相同。当使用一个制表符或者一个空格都可以达到下一个制表符终止位时,选用哪一种替换字符比较好?
2022-11-24 22:53:45
447
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1