风起临冬
前面的回答说了大一堆,我不知道是不是复制粘贴还是答非所问,就是不说会不会生成新的作用域。我的回答是,不会。function a() { let x = 0 b() return y}function b() { let y = 1}猜猜a函数返回什么?全局环境中,a函数中调用了b函数,并没有增加新的作用域。这段代码作用域共有三个,window全局作用域、a函数作用域、b函数作用域。其中全局作用域被a和b共用,作为它们执行环境栈的栈底,栈顶分别是它们当前的作用域(即变量x和y所在的作用域),没有增加新的作用域,同时a和b的执行环境栈中都没有彼此。a()返回结果是:报错y is not defined