Skip to main content

JavaScript 正则表达式

· 15 min read

JavaScript 正则表达式 大核心模块

  1. 基础语法:修饰符、元字符、反义、贪婪/惰性匹配
  2. RegExp 实例test()exec()lastIndex 属性
  3. String 方法match()search()replace()split()
  4. 高级特性:分组捕获、反向引用、断言 Assertion

最容易踩坑:全局匹配 g 修饰符与 lastIndex 的关系、贪婪 vs 惰性匹配

最佳实践:使用 regex101.com 在线调试验证正则表达式

关键提醒:正则表达式带有 g 修饰符时,test()exec() 会持续更新 lastIndex,可能导致意外结果

JavaScript 节点基础概念

· 6 min read
Kimi Gao
Fullstack & AI

DOM 是 JavaScript 操作网页的接口,全称为“文档对象模型”(Document Object Model)。它的作用是将网页转为一个 JavaScript 对象,从而可以用脚本进行各种操作(比如增删内容)。

浏览器会根据 DOM 模型,将结构化文档(比如 HTML 和 XML)解析成一系列的节点,再由这些节点组成一个树状结构(DOM Tree)。所有的节点和最终的树状结构,都有规范的对外接口。

DOM 只是一个接口规范,可以用各种语言实现。所以严格地说,DOM 不是 JavaScript 语法的一部分,但是 DOM 操作是 JavaScript 最常见的任务,离开了 DOM,JavaScript 就无法控制网页。另一方面,JavaScript 也是最常用于 DOM 操作的语言。后面介绍的就是 JavaScript 对 DOM 标准的实现和用法。

JS 全局环境和对象调用中的 this 指向?

· 3 min read

this 指向在函数定义时不确定,调用时才确定。

  1. 全局环境:浏览器 this === window,Node 中 this === global,严格模式为 undefined
  2. 对象方法obj.method() 中 this 指向点号左侧的对象
  3. 独立调用:函数脱离对象后丢失绑定,this 回退到全局(严格模式 undefined)
  4. 箭头函数:没有独立的 this,捕获定义时所在作用域的 this
  5. 显式绑定call/apply/bind 可手动指定任意 this

核心原则:只看如何调用,不看在哪定义。