[英]What approach should I take to continuously skip to a function with conditions and no loops?
//跳到第三段为要点。
首先,我想提一下我是编程的初学者。 我决定开始编辑,然后才能从头开始创建。 因此,我找到了一个可以在Internet浏览器的控制台(检查元素)中使用的脚本来执行许多任务。 因此,起初脚本只是一个段落的大小,但是在几天的过程中,我一直在添加和编辑它(我觉得这很有趣)以创建更多自定义脚本。 我想说清楚一点,但是如果没有上下文,可能很难帮助我。
因此,基本上,我想出的脚本使用了很多“功能”,即使学习后,我也不是100%是什么,但是我对它们的作用了解得足够多。 因此,我使用这些函数来定义条件并执行不同的任务。 我保留许多职能,以使一切井井有条,并找出错误。 然而; 我现在遇到的问题是脚本无法正常工作,我找不到我的错误。
重点
我有许多功能按顺序下降,但我希望脚本在某些情况发生后返回至第一个功能。 我想在不使用循环的情况下做到这一点。 我这样做的方式是通过调用“ NameOfFunction”()之类的函数;
这是我的一些代码:
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();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.