gpt4 book ai didi

javascript - 递归 - 测试最大堆栈大小时调用堆栈无法弹出

转载 作者:可可西里 更新时间:2023-11-01 01:42:28 24 4
gpt4 key购买 nike

基本上,当 last-in 函数调用返回。但是每当我尝试创建一个接近其最大值的调用堆栈时,一个uncaught expression is getting raised.

//Code for testing the stack size
var cnt = 0;

function test(){
//Max stack size is nearer to ~41800
if(cnt++ == 41763){
console.log('finished');
return true;
}
return test();
}

test();

所以上面的代码在 chromium Version 49.0.2623.112 m 中为我抛出异常,如下所示,

Uncaught exception

< true

请注意,上面的错误中没有任何消息。我的问题是,

堆栈中的最后一个函数调用返回了 true,这意味着没有超出堆栈大小。为什么没有返回该堆栈中的其他函数调用?出现此空白异常消息的原因是什么?

最佳答案

这里的问题是

console.log('finished');

这会向调用堆栈添加一些额外的函数,使限制超出限制,但通过异常处理,您的代码无论如何都会被执行。

尝试在没有 console.log 的情况下运行它,您会看到您已达到极限并看到 true 或 exception。

关于javascript - 递归 - 测试最大堆栈大小时调用堆栈无法弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36871075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com