javascript - 我应该采取什么方法来连续跳到有条件且无循环的函数?

标签 javascript html function

//跳到第三段查看要点。

首先我想说我是编程初学者。我决定先开始编辑,然后才能从头开始创作。所以我找到了一个可以在互联网浏览器控制台(检查元素)中使用的脚本来执行许多任务。因此,起初脚本只有一个段落的大小,但在几天的时间里,我一直在添加和编辑它(我发现这真的很有趣)以创建一个更自定义的脚本。我想切入主题,但如果没有上下文,可能很难帮助我。

所以基本上我想出的脚本使用了大量的“函数”,即使在学习之后我也不是 100% 是什么,但我对它们的作用有足够的了解。因此,我使用这些函数来定义条件并执行不同的任务。我保留了许多功能来使一切井井有条并发现错误。然而;我现在遇到的问题是脚本无法正常工作,我找不到我的错误。

要点

我有许多函数按顺序下降,但我希望脚本在某些条件发生后返回到第一个函数。如果可能的话,我想在不使用循环的情况下执行此操作。我这样做的方法是调用类似的函数 “函数名称”();

这是我的一些代码:

function roll() {
        if (Dloss === false) {
            if (loop === true) {
                tbBet.value = start;
                btRoll.click();
                refreshIntervalId = setInterval(roll2, delay);
            }
        }
        if (Dloss === true) {
            if (loop === true) {
                tbBet.value = start;
                btRoll.click();
                refreshIntervalId = setInterval(decision, delay);
            }
        }
    }
    function decision() {
        if (Dloss === true) {
            var thestring = document.getElementById('roll').value;
            var thenumber = retnum(thestring);
            if (thenumber < rollUnder) {
                start = (start * remain).toFixed(2);
            }
            if (thenumber > rollUnder) {
                start = (start * MultLoss).toFixed(2);
                if (start > maxBetValue) {
                    loop = false;
                }
                btRoll.click();
                clearInterval(refreshIntervalId);
                roll();
            }
            btRoll.click();
            clearInterval(refreshIntervalId);
            roll3();
        }
    }

所以你可以看到我在哪里有 roll();在 if 语句中。我想让它循环回到开始,但它似乎不起作用。如果这是显而易见的事情,我很抱歉。我正在学习,经过一段时间的挣扎后,我决定在这里发布我的问题。预先感谢您的帮助。

---------编辑 1------------ 所以我想做的就是在这里调用函数 roll() :

                     btRoll.click();
                    clearInterval(refreshIntervalId);
                    roll();

那么,根据我的研究,这是唯一的方法,我这样称呼是否正确?我应该在这里发布整个脚本吗? (顺便说一句,抱歉,我是该网站的新手,仍在学习如何使用)

最佳答案

当一个函数结束时,它会返回到该函数被调用的地方。如果您希望 decision 函数中的代码在每次 roll 之后发生,您需要显式调用 decision()

function roll() {
    if (Dloss === false) {
        if (loop === true) {
            tbBet.value = start;
            btRoll.click();
            refreshIntervalId = setInterval(roll2, delay);
        }
    }
    if (Dloss === true) {
        if (loop === true) {
            tbBet.value = start;
            btRoll.click();
            refreshIntervalId = setInterval(decision, delay);
        }
    }
    decision() // <--- Like so
}
function decision() {
    if (Dloss === true) {
        var thestring = document.getElementById('roll').value;
        var thenumber = retnum(thestring);
        if (thenumber < rollUnder) {
            start = (start * remain).toFixed(2);
        }
        if (thenumber > rollUnder) {
            start = (start * MultLoss).toFixed(2);
            if (start > maxBetValue) {
                loop = false;
            }
            btRoll.click();
            clearInterval(refreshIntervalId);
            roll();
        }
        btRoll.click();
        clearInterval(refreshIntervalId);
        roll3();
    }
}

关于javascript - 我应该采取什么方法来连续跳到有条件且无循环的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50884435/

相关文章:

javascript - 我需要了解良好的 javascript 才能使用 jquery 吗?

javascript - Bootstrap 多选 onfocus 不起作用

javascript - CSS3如何计算缩放后的高度和宽度

function - 扩展 defmethod 语句的 eql 子句以接受任何函数?

javascript - ES6 类的 Mixins,用 babel 转译

javascript - ant design 中的异步表单字段验证

javascript - isNaN 给出令人困惑的结果

r - 有没有办法以 `[<-` 形式调用 `[` 函数?

传递函数参数时的 C++ 执行顺序

JavaScript 当单击选项卡 2 时,它将阻止 UI,但选项卡 1 必须处于事件状态