tags:bok 状态、重要性 # inbox - [[JavaScript 在前端开发中能够解决那些问题]] - [[JS 变量、对象、函数、类的关系]] - [[面向对象编程OOP]] # todo 这个 bok 领域我的待学习待实践内容 # WHY 解决什么问题? # WHAT(树干) 原理 # HOW(树枝和树杈) ### JavaScript 知识体系大纲 #### **1. 基础概念** 1.1 **变量** - `var` - `let` - `const` - 变量提升 1.2 **数据类型** - 基本类型 (Primitive Types) - `string` - `number` - `boolean` - `null` - `undefined` - `symbol` - `bigint` - 引用类型 (Reference Types) - 对象 - 数组 - 函数 - 类型转换 - 隐式类型转换 - 显式类型转换 1.3 **作用域与闭包** - 全局作用域 - 函数作用域 - 块级作用域 - 闭包 (Closures) - 词法环境 - 应用场景 --- #### **2. 核心特性** 2.1 **函数** - 函数声明 - 函数表达式 - 箭头函数 - 默认参数 - 高阶函数 (Higher-Order Functions) - 回调函数 (Callback Functions) 2.2 **对象** - 属性与方法 - 属性访问 (`dot notation` 和 `bracket notation`) - 对象解构与展开 - 对象的深浅拷贝 - 对象继承与原型链 2.3 **类** - 定义类 (`class` 和 `constructor`) - 静态方法 (Static Methods) - 继承 (`extends`) - 实例方法与静态方法的区别 2.4 **原型 (Prototypes)** - 原型链 - `Object.create` - `__proto__` - 原型继承 --- #### **3. 浏览器环境** 3.1 **DOM 操作** - 选择元素 - `getElementById` - `querySelector` - `querySelectorAll` - 修改元素内容和属性 - 创建与删除节点 - 操作样式与类名 3.2 **事件处理** - 事件监听 (`addEventListener`) - 事件传播机制 - 捕获阶段 - 冒泡阶段 - 事件委托 --- #### **4. 异步编程** 4.1 **定时器** - `setTimeout` - `setInterval` 4.2 **Promise** - 基本用法 - 链式调用 - 错误处理 (`catch`) 4.3 **async/await** - 定义与用法 - 异步函数的错误处理 4.4 **事件循环 (Event Loop)** - 宏任务与微任务 - `setTimeout` vs `Promise` --- #### **5. 模块化** 5.1 **ES6 模块** - `import` 和 `export` - 默认导出与命名导出 5.2 **CommonJS** - `require` 和 `module.exports` 5.3 **AMD** - `define` 和 `require` --- #### **6. 错误处理** 6.1 **基础错误处理** - `try...catch` - `throw` - 错误对象 (`Error`, `TypeError`, `ReferenceError` 等) 6.2 **调试工具** - 浏览器调试工具 - `console.log` 系列 - 设置断点与性能分析 --- #### **7. 性能优化** 7.1 **代码优化** - 减少 DOM 操作 - 事件节流与防抖 - 异步加载资源 (`async` 和 `defer`) 7.2 **内存管理** - 垃圾回收机制 - 避免内存泄漏 - 全局变量滥用 - 未清除的定时器或事件监听 --- #### **8. 进阶主题** 8.1 **设计模式** - 单例模式 - 工厂模式 - 发布-订阅模式 - MVC/MVVM 8.2 **元编程** - Proxy 和 Reflect - Symbol 的高级用法 8.3 **ECMAScript 标准** - ES5 特性 - ES6 新特性 - 解构赋值 - 模板字符串 - 箭头函数 - 类 - 模块化 - 最新更新的特性 --- #### **9. 常用工具与环境** 9.1 **Node.js** - 核心模块 - 文件系统操作 - 包管理器 (npm/yarn) 9.2 **前端框架** - React - Vue - Angular 9.3 **打包工具** - Webpack - Rollup - Vite # HOW GOOD big idea 能够解决哪些问题 # ref. ## 📗 书籍 ### 入门小册子 intro - 参考资料的参考资料,他人总结的书单、GitHub学习资料集合 - Google前十页、维基百科的文献链接 - 百科全书:wikipedia(navbox)、DK等百科全书类的知识汇编、综合 - 小册子、入门或图解类书籍(搜索引擎+“入门”) - epic - 导论教科书的目录 ### 了解学科大图景 big picture ### 经典大部头 textbook - 理论认知 - 历史认知 - 实践认知 ### 相关论文 ### 知识视频、网络课程 - YouTube(同时设置浏览器文件夹) - 课程 - cousera - mimo - codecademy - 网站、播客、网页 - 纪录片 ### 🧩 碎片化信息(同样需要深度加工,走完学习闭环) - [费曼日报](https://daily.candobear.com/) - 正规出版的报刊、杂志文章,严肃规范的科普类文章 - GitHub 项目(star收藏) - 知乎专栏 - 个人网站、博客、网页、X - RSS订阅 ### 🤔 案例研究 ### 👨‍🏫 多请教大活人(与人沟通非常重要) # archive ---