Skip to main content
· 6 min read

Flexbox 是 容器定方向,子项定大小 两套属性加起来 12 个的事。

  1. 启动display: flex 一行,元素变弹性容器
  2. 容器 6 属性:flex-direction / flex-wrap / justify-content / align-items / align-content / gap
  3. 子项 6 属性:flex-grow / flex-shrink / flex-basis / flex / order / align-self
  4. 核心思路:先想主轴(默认水平),再选对齐方式
  5. 现代选择gap 替代 margin 间距
  6. 常见坑主轴 / 交叉轴搞反,90% 的 flex bug 都是这个
  7. 默认行为grow=0 / shrink=1不抢必缩
· 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,可能导致意外结果

· 4 min read

DOM 里 Node 是基类,Element 只是 7 种节点之一——文本、注释、文档都是 Node 但 不是 Element

  • 节点类型:日常打交道最多是 Element / Text / Comment / Document 四种
  • 三大属性:nodeNamenodeValuetextContent 各管一摊
  • nodeType:用 Node.ELEMENT_NODE 常量,禁硬编码数字
  • 父子关系:parentElement 只对 Element 父节点有值
  • NodeList:实时的 集合,遍历时增删子节点会变化
· 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

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

发文趋势
近 12 个月 · 共 116
89101112123456347