如果我们将 javascript 引擎的操作分为编译阶段(设置整个词法作用域图)和运行阶段(在编译阶段使用词法作用域设置执行代码),那么函数表达式的作用域何时设置?是在编译阶段还是运行/解释阶段?
此外,每当设置函数表达式的作用域时,父作用域将始终是全局作用域,对吗? (我已经看到发生这种情况的代码,只是想确认一下)。
最佳答案
函数的作用域(包括函数表达式)是在创建函数时设置的 - 这发生在运行阶段,而不是解析阶段。
关于javascript - 函数表达式的词法范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240571/