Cloudboy22
Cloudboy22

Reputation: 1514

Break statement giving unexpected results

I am using the break statement and I want it to, when I enter 3, break and log "I am breaking."

But somehow it's not working.

Here is my code:

var enteredNumber=window.prompt("Enter A Value");
for (i=enteredNumber; i <= 10; i++) {
    if (enteredNumber===3) {
        console.log('I am breaking');

        break;
    }   
}

It dosen't show any result. What am I doing wrong?

Upvotes: 0

Views: 75

Answers (3)

designerNProgrammer
designerNProgrammer

Reputation: 2701

Basically you are using strict comparison so it wont accept 3 as number.

var enteredNumber=window.prompt("Enter A Value");
        for (i=enteredNumber; i <= 10; i++) {

            if (i==3) {
                alert('i am breaking');

                break;
                }

Upvotes: 1

Vincent Ramdhanie
Vincent Ramdhanie

Reputation: 103155

This is a datatype problem. The value entered is a String and you are comparing it to a number. Try this:

var enteredNumber=+window.prompt("Enter A Value");
    for (i=enteredNumber; i <= 10; i++) {

        if (enteredNumber===3) {
            console.log('i am Breaking');

            break;
        }

    }

Notice the little + sign? That says to interpret the value entered as a number. Now the condition enteredNumber ===3 is true when you enter 3.

Upvotes: 3

Burning Crystals
Burning Crystals

Reputation: 1167

To stop the loop at 3, your if statement should look at variable i and not at enteredNumber because you're looping i and not enteredNumber

        if (i===3) {
            console.log('i am Breaking');

            break;
        }

Upvotes: 0

Related Questions