- 博客(41)
- 收藏
- 关注
原创 JavaScript 操作 BOM
本文深入解析BOM(浏览器对象模型)的核心功能与应用场景,涵盖window、location、history等关键对象的详细用法。内容包含窗口层级关系、URL导航控制、历史记录管理、设备信息获取等核心技术,并提供SPA路由实现、地理定位、定时器优化等高级应用方案。特别强调安全限制与最佳实践,如同源策略、权限控制和性能优化技巧。文章通过代码示例演示了防抖处理、跨域通信、全屏API等实用功能,为开发者提供全面的BOM开发指南。
2025-08-24 09:22:31
748
原创 JavaScript 基本语法
本文档系统介绍了JavaScript的核心语法,包括基础结构、变量与数据类型、运算符、流程控制、函数、对象、数组、ES6+新特性及错误处理等。重点讲解了JavaScript的动态类型特性、变量作用域、函数声明方式、对象和数组操作,以及ES6引入的箭头函数、解构赋值和模板字符串等新特性。文档采用结构化的目录编排,每个知识点都配有代码示例,适合作为JavaScript语言的快速参考指南。
2025-08-21 19:34:30
1270
原创 初识javascript
JavaScript核心语法摘要:本文系统梳理JavaScript核心语法特性,包含基础语法(变量、运算符、控制流程)、函数特性(定义/参数/闭包)、面向对象(原型/类)、数据结构(数组/字符串/正则)、异步编程(回调/Promise/async)、模块系统、DOM/BOM操作、网络请求、JSON处理、日期数学运算、类型转换、ES6+新特性(解构/Set/Map/Proxy)等核心技术点,覆盖前端开发所需的完整语法体系,提供200+常用API方法解析,适合作为JavaScript语法速查手册。
2025-08-20 22:02:21
882
原创 CSS 选择器介绍
本文全面介绍了CSS选择器的核心知识与实践技巧。首先讲解了选择器的基本概念和作用,然后详细分类解析了基础选择器(标签、类、ID、通配符、属性选择器)、复合选择器(后代、子、兄弟选择器等)、伪类选择器(状态、结构、表单伪类)和伪元素选择器(::before、::first-line等)的语法和应用场景。文章还深入剖析了选择器优先级权重计算规则,并提供了选择器最佳实践建议,强调应优先使用类选择器、避免过度嵌套和滥用ID选择器。最后总结了选择器在实现精准样式控制中的核心作用,帮助开发者编写高效、可维护的CSS代码
2025-08-18 09:40:30
1300
原创 初识CSS
CSS(层叠样式表)是网页开发的核心技术之一,负责控制HTML元素的外观和布局。本文系统介绍了CSS的发展历程、核心功能、基本语法和应用方式,包括:1. CSS的核心作用:美化网页、控制布局、实现交互动画及样式复用;2. 基本语法结构:选择器与声明块的组合使用;3. 三种结合方式:内联样式、内部样式表和外部样式表;4. 常用属性分类:文本、盒模型、背景、布局定位及动画属性;5. 布局技术演进:从传统表格/浮动布局到现代Flexbox/Grid布局;6. 开发工具与最佳实践建议。CSS实现了结构与样式的分离,
2025-08-17 08:06:16
1184
原创 HTML 常用属性介绍
本文整理了HTML常用属性的分类速查表,包含六大类核心属性:1. 通用属性(id、class、style等基础配置)2. 链接属性(href、src、target等资源引用)3. 表单属性(name、type、required等交互控制)4. 媒体属性(width、controls、autoplay等展示设置)5. 事件属性(onclick、onchange等JS交互)6. 其他属性(表格合并、元信息等特殊功能)着重解析了id/class样式控制、href/src资源引用、表单验证属性等核心用法,并强调语义
2025-08-16 08:35:57
1332
原创 HTML 常用标签介绍
本文系统介绍了HTML常用标签及其功能分类,包括:1. 文档元标签(如DOCTYPE、meta)用于定义文档类型和元信息;2. 结构布局标签(如header、section)构建网页框架;3. 文本标签(h1-h6、p)格式化内容;4. 链接、媒体和列表标签实现导航和内容组织;5. 表格和表单标签展示数据与用户交互。文章还涵盖了脚本样式、框架嵌入等高级功能标签,并附有速查表,帮助开发者快速掌握HTML标签体系。
2025-08-15 08:59:59
928
原创 初识HTML
HTML是构建网页的核心语言,由标签、元素、属性构成,用于定义网页结构和内容。它通过标签(如<h1>、<p>、<img>)组织文本、图片等元素,属性提供额外设置。HTML文档包含基本结构(<!DOCTYPE>、<html>、<head>、<body>),并与CSS、JavaScript协同实现样式和交互。HTML5新增了语义化标签和多媒体支持,使网页更丰富。开发时需遵循标签闭合、语义化使用等规范,利用工具如VSCode和浏览
2025-08-14 14:44:06
833
原创 二分查找:理论基础与实战模板
摘要:二分查找是一种基于有序数组的高效搜索算法,利用分治思想将搜索区间不断减半,时间复杂度为O(logn)。核心流程包括初始化区间、计算中点、比较目标值并调整边界。文章提供了标准模板及两种变体(查找左右边界),强调闭区间写法和防溢出处理。关键点在于有序性前提、中点计算(left + (right-left)/2)和边界更新的准确性。适用于随机访问数据结构,需注意处理重复元素时的边界条件。
2025-08-13 15:05:38
848
原创 Mocha在Node.js中的详细使用
Mocha在Node.js中的使用指南 本文全面介绍了Mocha测试框架在Node.js环境中的使用方法。主要内容包括: 安装配置:详细说明了Mocha的安装要求、两种安装方式(全局和本地)以及版本验证方法 测试编写:涵盖同步/异步测试编写、多种断言库使用(内置assert、Chai、Should.js)、钩子函数应用 高级功能: 测试控制(跳过/独占测试) 动态生成测试用例 超时设置 并行测试执行 ESM模块支持 最佳实践: 测试目录结构 配置文件使用 错误处理 异步测试技巧 命令行工具:介绍各种常用参数
2025-08-12 09:32:56
1211
原创 栈与队列:理论基础与 C++ STL 实践详解
本文系统介绍了栈和队列两种基础数据结构。栈遵循后进先出(LIFO)原则,支持push、pop等操作,C++中通过std::stack实现,常用于括号匹配等场景。队列遵循先进先出(FIFO)原则,通过std::queue实现,适用于任务调度等应用。文章对比了两者的特性,并提供了数组模拟实现方法。此外还介绍了双端队列deque,并对比了栈与队列在存取方式、应用场景等方面的差异。最后指出STL容器基于deque实现,建议根据需求选择合适的数据结构。
2025-08-08 14:02:05
726
原创 字符串匹配(重点解析KMP算法)
本文介绍了在字符串haystack中查找needle首次出现位置的两种方法。暴力法通过双重循环逐一比较子串,时间复杂度为O(n×m)。KMP算法利用前缀表(next数组)优化匹配过程,核心是构建记录最长公共前后缀长度的next数组,当失配时利用已匹配信息跳过不必要比较。KMP算法的时间复杂度为O(n+m),空间复杂度为O(m)。文章详细解析了KMP算法的实现步骤,包括next数组构建原理、回退机制和匹配过程,并提供了完整的C++代码实现。
2025-08-07 22:51:01
910
原创 数据结构之链表
链表是由节点组成的线性数据结构,每个节点包含数据域和指针域,通过指针连接。主要类型包括单链表、双链表和循环链表。链表节点分散存储,内存不要求连续。操作包括初始化、插入/删除节点(O(1)复杂度)、访问/查找节点(O(n)复杂度)。相比数组,链表插入删除高效但访问较慢,更适合频繁增删场景。数组和链表在存储策略和操作效率上呈现对立特点。
2025-08-05 15:17:02
2351
原创 leetcode热题——子集
该题目要求生成一个整数数组的所有可能子集(幂集)。通过回溯算法,将问题抽象为树结构,从起始索引开始遍历,避免重复元素。每个递归步骤都记录当前路径作为子集,最终收集所有子集组合。时间复杂度为O(n×2^n),空间复杂度为O(n)。
2025-08-03 21:45:15
560
原创 Node.js 操作 MongoDB
本文介绍了如何使用Node.js操作MongoDB数据库。主要内容包括:MongoDB作为文档型数据库的特点和功能;安装启动方法;通过Mongoose模块建立Node.js连接;定义数据模型;实现CRUD操作(增删改查);推荐可视化工具;以及项目结构示例。文章提供了完整的代码示例,帮助开发者快速掌握Node.js与MongoDB的交互操作,适合需要实现数据持久化的Node.js开发者参考学习。
2025-08-02 23:01:35
1020
1
原创 leetcode热题——螺旋矩阵
本文系统介绍了解决螺旋矩阵问题的四种方法:1.边界收缩法(最优推荐):维护四个边界逐步收缩,时空复杂度O(mn)/O(1);2.方向向量法:模拟移动转向,需visited数组;3.递归法:分层处理外圈+内圈;4.层次遍历法:按层处理同心矩形。综合对比推荐边界收缩法作为面试首选,方向向量法适合学习理解,递归法培养分治思维,层次遍历法适合工程项目。针对不同面试场景,给出了相应方法选择和实现建议,强调边界收缩法的标准解法地位及其在空间效率上的优势。
2025-07-29 22:42:15
2040
原创 leetcode热题——最长连续序列
本文介绍如何用O(n)时间复杂度找出未排序整数数组中最长连续序列的长度。核心思路是利用哈希集合存储数字,对于每个不存在前驱数x-1的数字x,向后查找连续序列x+1,x+2...,避免重复计算。优化点包括直接遍历哈希集合防止超时,以及在找到足够长序列时提前终止。算法时间复杂度O(n),空间复杂度O(n),满足题目要求。
2025-07-26 23:59:39
643
原创 Node.js全局对象
需要注 意的是,在 Node.js 中你不可能在最外层定义变量,因为所有用户代码都是属于当前模块的, 而模块本身不是最外层上下文。在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。如果在模块中,返回的值是模块文件的路径。JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。
2025-07-22 14:14:28
947
原创 初识Node.js 路由
在 Node.js 中,路由是处理 HTTP 请求的关键部分,它决定了如何根据不同的 URL 和 HTTP 方法(如 GET、POST、PUT、DELETE 等)来分发请求。路由通常用于构建 Web 应用程序,特别是 RESTful API。Node.js 本身并没有内置的路由机制,但可以通过中间件库(如 Express)来实现。URL 匹配:根据请求的 URL 来匹配路由规则。HTTP 方法匹配:根据请求的 HTTP 方法(GET、POST、PUT、DELETE 等)来匹配路由规则。
2025-07-21 10:19:09
1204
原创 初识Node.js
Node.js 是一个基于 Chrome V8 JavaScript 引擎构建的 JavaScript 运行时环境。所有 I/O 操作(文件读写、网络请求等)都是异步的 当等待 I/O 操作完成时,程序不会被阻塞,可以继续处理其他任务 大大提高了应用程序的吞吐量。Node.js 使用单线程的事件循环模型 通过事件驱动和回调函数处理并发请求 避免了传统多线程编程中的线程切换开销。Node.js 的核心工作机制是事件循环,它负责调度和执行所有异步操作。2.Node.js 将请求交给 libuv 处理。
2025-07-18 16:40:38
990
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅