自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 axios轻松搞定http请求

Axios是一个基于Promise的HTTP客户端库,用于浏览器和Node.js环境发送请求。它简化了HTTP通信,支持GET/POST等请求方式,提供统一API处理浏览器兼容性问题。安装可通过npm、bower或CDN引入。GET请求支持URL拼接或params传参,POST请求可发送请求体数据。示例展示了用户注册功能实现,通过axios.post发送账号密码到指定接口。文中示例代码参考了黑马程序员教学资源,用于学习交流。Axios使前后端数据交互更简单高效。

2025-11-25 11:04:38 422

原创 手写call,apply,bind方法

摘要:本文深入解析了JavaScript中改变this指向的call、apply和bind三种方法的实现原理。通过手写实现,揭示了call和apply的核心思想都是在目标对象上临时挂载函数并调用,区别仅在于参数传递方式;而bind则是返回一个永久绑定this的新函数,支持参数柯里化。关键点在于理解"对象.方法()"调用时this的绑定机制,与函数定义方式无关。这三种方法在底层都是通过改变函数调用时的上下文对象来实现this指向的修改。

2025-11-14 14:30:52 305

原创 JavaScript 核心语法特性四:事件捕获、事件冒泡、事件流和事件委托

摘要:DOM事件流分为捕获阶段(从上至下传播)、目标阶段(触发元素)和冒泡阶段(从下至上传播)。通过addEventListener的第三个参数可控制监听阶段,true为捕获,false为冒泡。目标元素的事件始终在目标阶段触发。stopPropagation()可阻止事件传播,preventDefault()可阻止默认行为。事件委托利用冒泡机制,将子元素事件交由父元素处理,通过e.target识别具体子元素,优化性能与动态元素管理。

2025-11-08 16:55:04 584

原创 JavaScript 核心语法特性三:变量声明方式var、let和const详解

JavaScript中var、let和const的差异主要体现在作用域、变量提升、重复声明和全局绑定等方面。var是函数级作用域,存在变量提升,允许重复声明,容易导致变量污染;let和const是块级作用域,解决了var的作用域问题。let允许修改,const声明后不可重新赋值(但可修改引用类型内部属性)。现代开发中建议优先使用const,其次let,避免使用var以减少潜在问题。典型示例展示了它们在循环中的不同表现:var会导致共享变量,而let会创建独立变量。掌握这些特性差异有助于编写更安全可靠的代码。

2025-11-06 11:14:21 714

原创 CSS塌陷问题详解二:元素浮动造成塌陷

本文介绍了CSS中浮动元素脱离文档流的问题及解决方案。主要内容包括:1.文档流概念:正常排列的网页元素;2.脱离文档流的两种方式:浮动和绝对/固定定位;3.浮动导致的常见问题:父元素高度塌陷(子元素浮动后父元素高度为0)和后续元素被覆盖;4.解决方案:通过BFC、清除浮动标签或伪元素解决高度塌陷,使用clear:both避免元素覆盖。特别指出浮动元素虽然脱离文档流但不脱离文本流,文字会自动避让浮动元素。

2025-11-04 11:43:29 622

原创 CSS塌陷问题详解一:标准元素margin塌陷

CSS中的margin塌陷问题解析:当父子或相邻块级元素的垂直外边距相遇时,会合并为较大值。典型表现为子元素设置margin-top导致父元素整体下移,或相邻元素间距取最大值而非总和。解决方案包括:1)为父元素添加border/padding;2)触发BFC(如设置overflow:hidden);3)使子元素脱离文档流。对于兄弟元素,可通过插入BFC隔离元素、转为inline-block或使用padding替代margin来避免合并。该机制是CSS的默认排版优化,理解其原理可有效解决布局异常问题。

2025-10-27 11:22:34 1064

原创 JavaScript 核心语法特性二:闭包、垃圾回收机制与解构赋值

文章摘要: 闭包是能记住并访问其创建时作用域的函数,常用于私有变量保护和状态保存。解构赋值则是一种简洁的数组/对象数据提取语法,通过结构匹配实现变量快速赋值。闭包可能引发内存泄漏问题,需注意及时解除引用;解构赋值支持默认值、嵌套解构等特性,能显著简化代码。两者都是JavaScript提升开发效率的重要特性,合理使用可使代码更优雅高效。

2025-10-26 17:04:24 643

原创 JavaScript 核心语法特性一:数据类型、动态参数与箭头函数

JavaScript数据类型分为值类型和引用类型。值类型包括String、Number、Boolean等,存储在栈内存,赋值时复制值;引用类型如Object、Array等,存储在堆内存,赋值时复制引用地址。函数参数处理有两种方式:传统arguments对象(类数组)和ES6剩余参数语法(...rest),后者更推荐使用。箭头函数是ES6新增语法,具有更简洁的写法,其this继承外层作用域,不能用作构造函数,也没有arguments对象。展开运算符(...)则用于拆分数组或字符串。

2025-10-24 10:11:28 974

原创 数组全攻略:创建与常用方法详解

数组是JavaScript中存储有序元素集合的线性数据结构,支持动态调整长度。创建方式包括字面量、构造函数、Array.of()和Array.from()。常用方法涵盖增删改查:push/pop/unshift/shift操作首尾元素;splice实现删除、插入和替换;slice截取子数组;concat合并数组。遍历方法包括forEach、map(元素转换)、filter(条件筛选)和reduce(累加计算)。查找方法find/findIndex按条件检索元素,sort/reverse处理排序。

2025-10-21 19:04:23 580

原创 JavaScript 日期时间完全指南:从创建到实战应用

JavaScript中的Date对象用于处理日期和时间,支持获取当前时间、创建指定时间实例。通过get/set方法可操作日期组件,提供多种格式化方法(如toLocaleString、toISOString)。核心功能包括时间戳转换(Date.now()/getTime())、日期计算(通过时间戳差值换算单位)以及动态倒计时实现。需注意:月份从0开始计数,时区差异会影响ISO/UTC格式结果,跨月/年计算推荐使用setDate/setMonth自动处理边界。

2025-10-19 17:37:59 700

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除