Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript线程如何知道返回到上下文中的哪个位置?_Javascript - Fatal编程技术网

Javascript线程如何知道返回到上下文中的哪个位置?

Javascript线程如何知道返回到上下文中的哪个位置?,javascript,Javascript,假设我们有这样的代码: const a = 2; const b = 4; const addFunc = (x, y) => x + y; const c = addFunc(a, b); // some more code 因此,线程将在内存中存储全局常量a和b,在内存中存储函数addFunc,然后存储c,并为其分配addFunc(a,b)的返回值。线程位于函数内部的调用堆栈将具有全局和addFunc(2,4)。当线程通过返回返回值并从调用堆栈中弹出addFunc(2,4)来完成时,

假设我们有这样的代码:

const a = 2;
const b = 4;
const addFunc = (x, y) => x + y;
const c = addFunc(a, b);
// some more code
因此,线程将在内存中存储全局常量a和b,在内存中存储函数addFunc,然后存储c,并为其分配
addFunc(a,b)
的返回值。线程位于函数内部的调用堆栈将具有全局和
addFunc(2,4
)。当线程通过返回返回值并从调用堆栈中弹出
addFunc(2,4)
来完成时,它如何知道需要返回到全局上下文中的哪个位置?(例如,不要返回执行行:)


这可能会对您有所帮助。@BharathvajGanesan它提到“一旦函数的所有代码都被执行,JS引擎就会弹出该函数的执行上下文,并开始执行它下面的函数。”。那么,这是否意味着一旦它完成了函数的执行,它将找到它执行的函数并从那里继续,或者是否存在某种对执行的函数所在位置的引用?我假设是后者,但在这种情况下,引用存储在哪里?如果您有一个
func1()的文件;funct2();func3()
它将执行1,然后当它完成时,它将执行2,然后执行3。但是,这并不意味着在执行
func1
之后,它将从任何位置返回到单个位置。如果
func3
也调用
func1()
,那么JS仍然会再次执行
func1
,但如果调用源自那里,它将返回
func3
,或者返回我用作示例的原始虚构文件。这取决于它从何处开始。函数在两个
()
的位置执行。在哪里申报并不重要。
const a = 2;