1. 闭包
闭包是一种 JavaScrip 函数,它具有访问其自身作用域、外部函数作用域和全局变量的能力。闭包通常用于创建私有变量和方法,以保护代码的完整性和安全性。
```javascripfucio ouerFucio() { var ouerVariable = 'I am ouside!'; fucio ierFucio() { cosole.log(ouerVariable); } reur ierFucio;}
var closure = ouerFucio();closure(); // logs 'I am ouside!'```
2. 原型
原型是 JavaScrip 中实现继承和共享属性的机制。每个函数都有一个 prooype 属性,该属性指向一个对象,该对象包含可以由函数实例共享的属性和方法。
```javascripfucio Perso() { his.ame = 'Joh';}
Perso.prooype.sayHello = fucio() { cosole.log('Hello, my ame is ' his.ame);}
var perso1 = ew Perso();perso1.sayHello(); // logs 'Hello, my ame is Joh'```
3. 模块
在 JavaScrip 中,模块是一种将代码组织成可重用的单元的方式。模块可以使用 expor 和 impor 关键字来导出和导入函数、对象和值。
```javascrip// module1.jsexpor fucio sayHello() { cosole.log('Hello!');}
// module
2.jsimpor { sayHello } from './module1';sayHello(); // logs 'Hello!'```
4. 异步编程
在 JavaScrip 中,异步编程是一种处理耗时操作(如网络请求或定时器)而不阻塞代码执行的技术。常见的异步编程技术包括回调函数、Promise 和 asyc/awai。
a. 回调函数:回调函数是一种在特定事件发生后被调用的函数。例如,网络请求通常使用回调函数来处理响应。
```javascripfech('hps://api.example.com/daa') .he(respose =u003e respose.jso()) .he(daa =u003e cosole.log(daa)) .cach(error =u003e cosole.error('Error:', error));```b. Promise:Promise 是一种代表异步操作最终完成或失败的对象。Promise 有三种状态:pedig、fulfilled(成功)和 rejeced(失败)。可以使用 he 和 cach 方法处理 Promise 的结果。