javascript - 调用栈增加javascript

标签 javascript callstack

我已经编写了一个二十一点脚本,我想递归地迭代它,直到相当大的资金用完。我想对遥测进行分析。这是一个本地脚本,除了我运行它的浏览器环境之外,不会对任何东西造成危险。

本质上,脚本应该是递归的,直到现金用完。在大约 5k 手左右的情况下,它可以正常工作 - 对于高达 10k 的资金,然后它会抛出最大调用堆栈错误。然而,我需要更多的数据;喜欢 > 100k 手。

我已经搜索了解决方案,并且我收集它是特定于浏览器的东西。任何想法将不胜感激!

附上代码片段:

function main() {
init();
if (bankRoll >= initialBet) {
    determineBet();
}
else {
    alert("Not enough moneyz to play!");
    console.log("telemetry");
    exitFunction();
}
bankRoll -= initialBet;
playTheGame(); // the whole game, betting, receiving cards, strategy etc
}

最佳答案

我建议你使用循环:

function main() {
    init();
    while (bankRoll >= initialBet) {
        determineBet();
        bankRoll -= initialBet;
        playTheGame(); // the whole game, betting, receiving cards, strategy etc
    }
    alert("Not enough moneyz to play!");
    console.log("telemetry");
    exitFunction();
}

很难说我是否正确地重构了它,因为我不知道 playTheGamedefineBet 之类的函数会做什么,但我希望你能明白。

关于javascript - 调用栈增加javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16882939/

相关文章:

javascript - 如何创建 javascript 徽章或小部件?

javascript - 谷歌闭包编译器 : How to preserve code that caches "this"?

c++ - 如何确定 C++ 中详细的调用堆栈信息?

memory - 调用堆栈会耗尽内存吗?

c++ - 所有变量是否都根据它们在程序中声明的顺序连续存储?

JavaScript 素数生成器

javascript - 单击按钮时无法读取 null 的属性 'setState'

namespaces - 概念 "stacks"和编程中的代码层

c - 为什么使用GDB检查时,某些局部变量没有列在相应的堆栈帧中?

javascript - Angular 针对 Asp.Net WebApi,在服务器上实现 CSRF