你在 Obsidian 中尝试用「基础-关键字」和「深入-知识点」分类的思路本身没有错误,但可以结合双链特性设计更符合认知逻辑且能激发知识连接的体系。以下是优化建议:
一、当前分类的问题分析
-
割裂关联性
this
的实现与「执行上下文」直接相关,但分属不同文件夹会切断天然的逻辑关联,违背双链的「建立联系」优势。 -
层级过深
多层嵌套文件夹会增加检索成本,而 Obsidian 的搜索/双链更适合扁平化结构(如用标签或 MOC 索引代替文件夹)。 -
语义模糊
「深入-知识点」的命名过于笼统,难以体现具体领域(如引擎机制、作用域、闭包等)。
二、优化方案:三维度分类法(主题 + 层级 + 关系)
1. 文件夹结构(极简扁平化)
📁 JavaScript
├─ 📁 0-Core-Concepts(核心基础概念)
├─ 📁 1-Advanced-Mechanisms(进阶机制)
├─ 📁 2-Engine-Internals(引擎原理)
└─ 📁 3-Examples-Case(实战案例)
原则:文件夹仅作「内容类型」的大类划分,不承载具体知识点层级
2. 用标签 (Tags) 实现多维分类
在笔记头部添加标签,实现「跨文件夹关联」:
---
tags:
- #基础/关键字
- #作用域
- #执行上下文
- #V8优化
---
标签设计示例:
# 层级标签
- #基础/关键字
- #进阶/原型链
- #高级/内存管理
# 领域标签
- #作用域
- #闭包
- #事件循环
- #JIT优化
# 特殊标记
- #高频面试题
- #易错点
- #最佳实践
3. 双链 + MOC(内容地图)构建知识网络
-
核心枢纽笔记:
创建[[JavaScript 运行时环境]]
笔记,用双链关联相关概念:## 关联概念 - 执行上下文 → [[执行上下文]] - 作用域链 → [[作用域]] - `this` 绑定 → [[this关键字的机制]] - 底层实现 → [[V8引擎的隐藏类机制]]
-
主题索引笔记:
创建[[关键字专题]]
笔记,聚合所有基础关键字:## 基础关键字 - [[this]]:动态绑定规则、箭头函数差异 - [[let与const]]:暂时性死区、块级作用域 - [[class]]:语法糖本质、原型链实现
4. 具体案例:this
笔记的优化结构
文件名:[[this关键字的机制]]
内容结构:
---
tags:
- #基础/关键字
- #执行上下文
- #作用域
- #高频面试题
---
## 绑定规则
- [[默认绑定]]、[[隐式绑定]]、[[显式绑定]]、[[new绑定]]
- 箭头函数:[[词法作用域]]决定`this`
## 底层机制
- 关联引擎实现 → [[V8的执行上下文管理]]
- 严格模式影响 → [[严格模式的引擎行为]]
## 常见误区
- 回调函数丢失`this` → [[绑定丢失的解决方案]]
- 箭头函数无法修改`this` → [[箭头函数的设计取舍]]
三、Obsidian 双链使用技巧
-
反向链接挖掘:
通过「反向链接」面板,发现哪些笔记引用了当前概念(如发现[[事件循环]]
笔记也提到了this
) -
关系图谱分析:
定期查看全局图谱,找到未连接的关键节点(如发现[[闭包]]
和[[this]]
未建立关联) -
模板自动化:
为不同分类的笔记创建模板,自动插入标签和基础结构:<%* const type = await tp.system.suggester(["基础概念", "进阶机制", "引擎原理"], ["基础概念", "进阶机制", "引擎原理"]); -%> --- tags: - #<% type %> ---
四、总结:好笔记系统的特征
- 主题聚焦:单篇笔记解决一个具体问题(如
[[this的隐式绑定陷阱]]
) - 多重入口:通过标签、MOC、搜索、图谱均可快速定位
- 自然生长:不依赖固定分类,通过双链自由关联(如后来新增的
[[Proxy与this]]
可自动关联到已有笔记)
最终你的笔记库会形成一个有机网络,而非树形目录——这才是 Obsidian 双链的威力所在。