对于JS来说
一言以蔽之:在一个函数的环境中,闭包 = 函数 + 词法环境
如果你写过React的话,就见过闭包很多次了
要谈论闭包,就逃不了内存泄露这个话题,下来来谈论下⬇️
第一种情况
function m(){
let a = 'tom'
function RA(){
return a;
}
return RA;
}
2025/10/5大约 1 分钟
对于JS来说
一言以蔽之:在一个函数的环境中,闭包 = 函数 + 词法环境
如果你写过React的话,就见过闭包很多次了
要谈论闭包,就逃不了内存泄露这个话题,下来来谈论下⬇️
function m(){
let a = 'tom'
function RA(){
return a;
}
return RA;
}
首先我们要明确的是,在JavaScript被设计出来时,就有了原型链机制,这是JavaScript的语言核心特性之一。
记住这点,以后会考:在JavaScript的第一个版本中就定义了每个对象都有一个内部属性Prototype
其次,在JavaScript这个语言中,有两个非常重要的概念
JS总有八种基本的数据类型
其中原始数据类型(基本数据类型)
async和await于2017年在ES8中引入
async和await是基于Promise API的语法糖,可以用同步的方式去写异步逻辑。
核心观念: async函数永远只返回一个Promise对象
换言之,你可以直接返回一个Promise对象,也可以返回一个值,你使用了async,返回值会被自动包装为一个Promise对象。
async function bb(){
return '专心学习!';
}
相当于
async function bb(){
return Promise.resolve('专心学习!');
}