📄🦌🙌🐟🏖️
日志记录
Where there is a where there is a way
随机文章
按住 Shift 横向滚动
热门文章
按住 Shift 横向滚动
JS进阶

JS进阶

本文介绍了JavaScript四个核心概念:作用域(全局、函数、块级、词法作用域与作用域链)、解构(数组和对象的提取赋值)、箭头函数(简洁语法及与普通函数在this指向、构造函数等方面的区别)、构造函数(原型链、方法共享与继承方式)。理解这些是掌握闭包、this和面向对象编程的基础。

正则表达式

正则表达式

正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式,在JavaScript中作为对象使用,常用于文本的查找、替换和提取,如表单验证、敏感词过滤等。其语法分为两步:定义规则(`/表达式/`)和查找(`test()`判断是否匹配,`exec()`检索匹配结果)。元字符包括:边界符(`^`开头,`$`结尾)、量词(如`*`、`+`、`?`、`{n,m}`控制重复次数)、字符类(`[]`匹配集合,`[^]`取反)、预定义类(如`\d`数字,`\w`字母数字下划线,`\s`空格)。修饰符`i`忽略大小写,`g`全局匹配,常用`replace`方法进行替换。正则表达式极大提升了文本处理的灵活性和效率。

本地存储

本地存储

随着互联网发展,网页应用需在本地存储大量数据。HTML5提供了localStorage与sessionStorage两种解决方案,数据存储在用户浏览器中,容量约5MB,页面刷新不丢失。localStorage可永久存储,多窗口共享,键值对且只能存储字符串;sessionStorage生命周期为关闭浏览器窗口,仅同一窗口内共享。两者语法相同:setItem存储、getItem获取、removeItem删除。对于复杂数据类型,需先用JSON.stringify转换为JSON字符串再存储,取出时用JSON.parse还原。

Window对象

Window对象

BOM(浏览器对象模型)以`window`对象为核心,提供操作浏览器的属性和方法。`var`定义的全局变量会自动成为`window`属性。定时器`setTimeout`用于延迟执行一次回调,可通过`clearTimeout`清除。JS是单线程语言,通过同步与异步任务(如事件、定时器)解决阻塞问题,执行机制为先执行同步栈,再从任务队列读取异步任务,形成事件循环。`location`对象管理URL,常用属性包括`hash`(哈希值)、`search`(查询参数)、`href`(完整地址),`reload`可强制刷新。`navigator`对象记录浏览器信息,通过`userAgent`可检测平台并实现跳转。`history`对象控制浏览历史,提供`back()`、`forward()`和`go(参数)`方法实现前进后退功能。

节点操作

节点操作

本文介绍了DOM节点操作的核心知识。DOM节点包括元素节点、属性节点和文本节点。查找节点方面,可通过`parentNode`获取父节点,`children`获取所有元素子节点,`nextElementSibling`和`previousElementSibling`获取兄弟节点。增加节点时先使用`document.createElement`创建新节点,再通过`appendChild`或`insertBefore`追加到父元素。克隆节点使用`cloneNode(true)`可复制后代节点。删除节点需通过父元素调用`removeChild`方法。这些操作是前端开发中动态修改页面结构的常用手段。

日期对象

日期对象

本文介绍了JavaScript中Date对象的使用方法。首先通过`new Date()`实例化时间对象,可获取当前或指定时间。其次,Date对象提供了一系列方法用于格式化输出,如`getFullYear()`、`getMonth()`(0~11)、`getDate()`、`getDay()`(0~6)等,还可使用`toLocaleDateString()`和`toLocaleTimeString()`获取固定格式的日期和时间。最后介绍了时间戳(从1970年1月1日0时起的毫秒数),用于计算倒计时。获取时间戳有三种方式:`getTime()`、`+new Date()`和`Date.now()`,其中`Date.now()`只能获取当前时间戳。通过时间戳差值可转换为剩余天数、小时、分钟和秒数(公式:天数=总秒数/86400,小时=总秒数/3600%24,分钟=总秒数/60%60,秒数=总秒数%60)。

事件

事件

本文介绍了JavaScript中事件监听的核心概念。事件监听通过`addEventListener`绑定事件,包含事件源、事件类型和处理函数三要素。对比了L0(on方式,会覆盖)与L2(可多次绑定,推荐)版本。常见事件类型包括鼠标、键盘等。事件对象提供type、位置坐标、按键值等属性。环境对象`this`指向调用者。事件流分为捕获(从父到子)和冒泡(从子到父),默认冒泡,可用`stopPropagation()`阻止。事件委托利用冒泡给父元素注册事件,减少注册次数。`preventDefault()`可阻止默认行为(如表单提交)。页面加载事件有`load`和`DOMContentLoaded`。滚动事件`scroll`可获取`scrollTop/scrollLeft`属性。尺寸事件`resize`可获取`clientWidth/Height`。元素尺寸与位置通过`offsetWidth/Height`、`offsetLeft/Top`及`getBoundingClientRect()`获取。移动端触屏事件包括`touchstart`、`touchmove`、`touchend`。

操作dom

操作dom

本文介绍了JavaScript Web API的基础知识。首先强调变量声明应优先使用const,因其语义明确且适合不变数据。接着讲解了DOM(文档对象模型)的概念、DOM树结构及DOM对象的核心思想——将网页内容作为对象处理。获取DOM元素推荐使用`document.querySelector`(单个)和`document.querySelectorAll`(集合)。操作元素内容可通过`innerText`(纯文本)和`innerHTML`(解析标签)实现。修改元素属性包括:常用属性(如src)、样式属性(style直接修改、className覆盖类名、classList增删切换)、表单属性(如value/type)及自定义属性(data-* + dataset)。最后介绍了定时器间歇函数`setInterval`用于周期性执行代码,通过`clearInterval`停止。这些内容为前端开发中网页交互与动态效果提供了基础方法。

JS基础

JS基础

### 摘要 本文介绍了JavaScript的基础知识。JavaScript是一种运行在客户端的编程语言,用于实现网页交互、表单验证、数据交互及服务端编程,由ECMAScript(核心语法)和Web APIs(DOM与BOM)组成。变量声明方式有`var`、`let`和`const`,推荐使用后两者。数据类型分为基本类型(number、string、boolean、undefined、null)和引用类型(object)。运算符包括算术、赋值、比较、逻辑等。流程控制有分支语句(if、三元、switch)和循环语句(while、for)。数组提供`push`、`pop`、`map`、`filter`等操作方法。函数支持常规声明、表达式、箭头函数、闭包等。对象是键值对集合,可通过字面量或`new Object()`创建,并支持`Object.keys()`等方法。此外还介绍了Map集合(键可为任意类型)、内置对象(String、Number、Math、Date、RegExp、JSON、Symbol)等。

响应式网页

响应式网页

本文介绍了响应式网页的两种实现方法:**媒体查询**和**Bootstrap框架**。媒体查询通过`max-width`/`min-width`特性定义视口区间,需按从小到大的顺序书写以避免CSS层叠覆盖,并支持`and`、`only`、`not`等逻辑符及`sreen`等媒体类型。外部CSS可通过`<link>`的`media`属性引入。Bootstrap是前端UI框架,通过栅格系统(将页面分为12列)结合`col-断点-份数`类名实现不同屏幕下的布局自适应,并提供了按钮、表格等全局样式及组件和字体图标,简化响应式开发流程。

© 2026 日志记录