定义一个function component,在内存的某个区域,它被存储下来。

每次调用这个function component,都会产生执行上下文。

函数里的代码,有延时代码,时间到了,延时代码被调用。

const fn = () => {
  let num = 10;
  setTimeout(() => {
    console.log(num);
  }, 3000);
};

fn();
fn();

每个延时代码里,“记住”的是属于它被定义时的变量信息。上面的代码,在内存中,有两个num变量分布在内存不同的地址。

第一次的setTimeout 接收的匿名函数 -> 第一个num

第二次的setTimeout 接收的匿名函数 -> 第二个num