函数调用会不会生成新的作用域 js

函数调用会不会生成新的作用域 js


繁花不似锦
浏览 851回答 3
3回答

风起临冬

前面的回答说了大一堆,我不知道是不是复制粘贴还是答非所问,就是不说会不会生成新的作用域。我的回答是,不会。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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript