JavaScript beginner - got stuck due to the lack of GOTO

I make now the first steps in JavaScript. To practice, I took a game I coded in VBA and try to “translate” it in JavaScript.

But I got stuck into one issue: JavaScript is missing GOTO. All of a sudden what was so simple in VBA becomes a big obstacle in JavaScript.

The scenario is simple. I have to add two random integers (both between 0 and 10, let’s say). And to move forward only if the condition x+y<11 is satisfied. If not, a new set (x,y) must be generated and tested for the condition.

In VBA, using GOTO, makes this few lines of code a piece of cake. But in JavaScript, due to the lack of GOTO, I fiddle around pointlessly to find a solution :slight_smile:

I thank you in advance for any advice, to bring me on the right track again.

Hi iib, welcome to the forums

I haven’t seen code with GOTO in it for decades!

GOTO code is procedural and long scripts can easily become “spaghetti”.

Depending on what the lines are doing, I think you’ll need to wrap them in functions and instead of GOTO call the function.

Well, in the meantime I found myself the solution to my problem :slight_smile:

I solved it using WHILE.

I am sure that for you was a trivial issue, but for me was a big challenge :slight_smile:

I will come back with the next issue, if will appear. Thanks again for inspiring me :slight_smile:

Hi there,

As you correctly concluded, while is a good way to solve this problem.

Here’s one way you might go about it:

// Get two numbers between 0 and 20 and only proceed if total >= 35

function getTwoRandomNumbers(){
  var x = Math.round(Math.random()*20),
      y = Math.round(Math.random()*20);

  return x + y;
}

var total = getTwoRandomNumbers();

while (total < 35){
  console.log("Didn't work! Total is: " + total);
  total = getTwoRandomNumbers();
}

console.log("It worked. Total is: " + total);

GOTO? funny. lol

GOTO is almost as dead as ALTER GOTO (saw a lot of those in the early 80’s in Cobol left over from before they got the PERFORM statement to work properly).

I still use GOTO in batch scripting for sys admin stuff, but certainly not in web development.