Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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_Html_Function - Fatal编程技术网

Javascript 我应该采取什么方法连续跳转到有条件且没有循环的函数?

Javascript 我应该采取什么方法连续跳转到有条件且没有循环的函数?,javascript,html,function,Javascript,Html,Function,//跳到第三段,了解要点 首先我想说的是,我是一个编程初学者。我已经决定开始编辑,然后才能从头开始创建。所以我找到了一个脚本,可以在Internet浏览器的控制台中使用inspect元素来执行许多任务。因此,起初脚本只有一个段落大小,但在几天的时间里,我一直在添加和编辑它,我发现创建一个更自定义的脚本非常有趣。我想开门见山,但如果没有上下文,可能很难帮助我 所以基本上,我提出的脚本使用了很多函数,即使在学习之后,我也不是100%,但我对它们的功能了解得足够多。因此,我使用函数定义条件并执行不同的

//跳到第三段,了解要点

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

所以基本上,我提出的脚本使用了很多函数,即使在学习之后,我也不是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();
        }
    }

那么,根据我的研究,这是唯一的方法吗?我应该把整个剧本都贴在这里吗?顺便说一句,很抱歉,我对该网站也是新手,但仍在学习如何使用

当函数结束时,它将返回调用该函数的位置。如果希望决策函数中的代码在每次滚动后都发生,则需要显式调用decision


它似乎不起作用,这意味着什么?显然,如果它起作用,你就不会问问题——你观察到了什么?你期望有什么样的行为?尝试添加一些console.log语句来调试代码调试器语句中发生的事情,因为代码在一定时间间隔内调用有点困难,所以我将首先使用console.log跟踪代码的执行情况。来编程吧,我喜欢你的坦率!我同意Jaromanda的观点,我们需要更多的细节来帮助你。我可以说的一点是,在您的代码中,您调用了两个函数:roll2和roll3,这两个函数在您与我们共享的代码中没有定义。我应该指出一点:函数是定义的,然后在别处调用。它们的定义顺序不一定反映调用它们的顺序。你想做什么?它似乎不起作用,我的意思是在应用条件后,代码不会返回到第一个函数。我期望的行为是在应用if语句之后。我希望代码从一开始就被读取,我不希望它从当前的读取点继续。抱歉,我不知道这个术语。另外,我不确定console.log语句是什么,但我会尽力弄清楚,谢谢您的反馈。这些语句看起来没有定义,因为提供了代码:btRoll、tbBet、retnum、delay、roll3、MultLoss、DLoss……这些对象是我们想要的吗?如果是这样的话,我会把它们都设为0。谢谢brett,我会很快尝试一下。我想发生的是我把间隔和调用函数混淆了,这是我的错误。这更有意义。我会试试看。还有,像你所展示的调用函数和我在后面用分号调用函数的方式有什么区别吗?决定或决定;Javascript将自动为您插入分号。但是,如果您不小心,这可能会导致问题。所以当有疑问的时候,用分号,这是我的疏忽。谢谢你。这正是我遇到的问题!出于某种原因,我把调用函数和调用其他函数混淆了。我已经修复了它,现在脚本完成了它应该完成的工作!我需要结束话题吗?我是否应该编辑我的帖子以减少混乱和细节,以帮助未来的任何人,还是可以?
                     btRoll.click();
                    clearInterval(refreshIntervalId);
                    roll();
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();
    }
}