1. 闭包 🧠
闭包是指函数能够访问并记住其词法作用域,即使该函数在其作用域外执行。它常用于数据封装和模块模式中。
示例代码:
function createCounter() {
let count = 0;
return () => {
count++;
return count;
};
}
const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2
2. 原型链 🔄
JavaScript通过原型链实现继承,所有对象都继承自其原型对象。理解原型链是掌握ES6类继承的基础。
关键概念:
__proto__
属性prototype
构造函数属性Object.getPrototypeOf()
方法
3. 异步编程 ⚡
使用 async/await
和 Promise
管理异步操作,提升代码可读性和可维护性。
最佳实践:
- 避免回调地狱
- 合理使用
try/catch
捕获异常 - 链接:深入理解Promise机制
4. 高阶函数 📦
map
、filter
、reduce
等函数用于处理数组,是函数式编程的核心工具。
应用场景:
- 数据转换:
.map()
- 条件过滤:
.filter()
- 累积计算:
.reduce()
5. 模块模式 🧩
通过立即执行函数(IIFE)创建私有变量和公共方法,实现模块化封装。
代码结构:
const MyModule = (function() {
let privateVar = '秘密';
function privateMethod() {
return privateVar;
}
return {
publicMethod: function() {
return privateMethod();
}
};
})();