鍍金池/ 問答/C  HTML/ 關于尾調用的執(zhí)行上下文,這里f為什么直接出棧了

關于尾調用的執(zhí)行上下文,這里f為什么直接出棧了

求問各位大大一個尾調用執(zhí)行上下文的問題,
function f(x){

return g(x);

}
ECStack.push(<f> functionContext);
ECStack.pop();
ECStack.push(<g> functionContext);
ECStack.pop();答案是這樣的
這一段代碼不應該是首先f函數(shù)的執(zhí)行上下文入棧,然后這里調用了g函數(shù),所以g函數(shù)的執(zhí)行上下文也要入棧,之后g函數(shù)執(zhí)行完畢g出棧,此時f得執(zhí)行上下文才出棧嗎?為啥f在g調用之前就出棧了呢,

回答
編輯回答
爛人

因為有return啊,return下面所有行的代碼都不重要了,還保留上下文干嘛。

2017年3月11日 22:43