ReferenceError: time is not defined












0















Variable times seems undefined, but as a newbie to js, can't understand whats the prob. Tried to declare var time globally then incremented inside condition but not working.






var j1 = 0;
var j2 = 0;
var j3 = 4;

var time;

if((j1||j2||j3)>=3){


time+5000;

while(time === 30000){
if(j1>=3){
alert("Junction 1 is flooded");
}else if(j2>=3){
alert("Junction 2 is flooded");
}else if(j3>=3){
alert("Junction 3 is flooded");
}else if ((j1&&j2)>=3){
alert("Junction 1 & 2 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j2&&j3)>=3){
alert("Junction 2 & 3 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j1&&j3&&j2)>=3){
alert("All 3 junctions are flooded");
}
}
}












share|improve this question























  • times is undefined while time is declared but not defined too. time + 5000; isn't helpful, did you mean time += 5000;?

    – Rafael
    Nov 21 '18 at 16:25













  • if((j1||j2||j3) >= 3) is a non sense, you can't factorise conditions such way.

    – Cid
    Nov 21 '18 at 16:34











  • while (time === 30000) this part will always be false and the loop never executed.

    – Cid
    Nov 21 '18 at 16:35











  • the value of j1,j2,j3 gets changed every 10 seconds with updated data and value of time is updated as well

    – inzam zaman
    Nov 21 '18 at 17:51
















0















Variable times seems undefined, but as a newbie to js, can't understand whats the prob. Tried to declare var time globally then incremented inside condition but not working.






var j1 = 0;
var j2 = 0;
var j3 = 4;

var time;

if((j1||j2||j3)>=3){


time+5000;

while(time === 30000){
if(j1>=3){
alert("Junction 1 is flooded");
}else if(j2>=3){
alert("Junction 2 is flooded");
}else if(j3>=3){
alert("Junction 3 is flooded");
}else if ((j1&&j2)>=3){
alert("Junction 1 & 2 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j2&&j3)>=3){
alert("Junction 2 & 3 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j1&&j3&&j2)>=3){
alert("All 3 junctions are flooded");
}
}
}












share|improve this question























  • times is undefined while time is declared but not defined too. time + 5000; isn't helpful, did you mean time += 5000;?

    – Rafael
    Nov 21 '18 at 16:25













  • if((j1||j2||j3) >= 3) is a non sense, you can't factorise conditions such way.

    – Cid
    Nov 21 '18 at 16:34











  • while (time === 30000) this part will always be false and the loop never executed.

    – Cid
    Nov 21 '18 at 16:35











  • the value of j1,j2,j3 gets changed every 10 seconds with updated data and value of time is updated as well

    – inzam zaman
    Nov 21 '18 at 17:51














0












0








0








Variable times seems undefined, but as a newbie to js, can't understand whats the prob. Tried to declare var time globally then incremented inside condition but not working.






var j1 = 0;
var j2 = 0;
var j3 = 4;

var time;

if((j1||j2||j3)>=3){


time+5000;

while(time === 30000){
if(j1>=3){
alert("Junction 1 is flooded");
}else if(j2>=3){
alert("Junction 2 is flooded");
}else if(j3>=3){
alert("Junction 3 is flooded");
}else if ((j1&&j2)>=3){
alert("Junction 1 & 2 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j2&&j3)>=3){
alert("Junction 2 & 3 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j1&&j3&&j2)>=3){
alert("All 3 junctions are flooded");
}
}
}












share|improve this question














Variable times seems undefined, but as a newbie to js, can't understand whats the prob. Tried to declare var time globally then incremented inside condition but not working.






var j1 = 0;
var j2 = 0;
var j3 = 4;

var time;

if((j1||j2||j3)>=3){


time+5000;

while(time === 30000){
if(j1>=3){
alert("Junction 1 is flooded");
}else if(j2>=3){
alert("Junction 2 is flooded");
}else if(j3>=3){
alert("Junction 3 is flooded");
}else if ((j1&&j2)>=3){
alert("Junction 1 & 2 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j2&&j3)>=3){
alert("Junction 2 & 3 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j1&&j3&&j2)>=3){
alert("All 3 junctions are flooded");
}
}
}








var j1 = 0;
var j2 = 0;
var j3 = 4;

var time;

if((j1||j2||j3)>=3){


time+5000;

while(time === 30000){
if(j1>=3){
alert("Junction 1 is flooded");
}else if(j2>=3){
alert("Junction 2 is flooded");
}else if(j3>=3){
alert("Junction 3 is flooded");
}else if ((j1&&j2)>=3){
alert("Junction 1 & 2 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j2&&j3)>=3){
alert("Junction 2 & 3 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j1&&j3&&j2)>=3){
alert("All 3 junctions are flooded");
}
}
}





var j1 = 0;
var j2 = 0;
var j3 = 4;

var time;

if((j1||j2||j3)>=3){


time+5000;

while(time === 30000){
if(j1>=3){
alert("Junction 1 is flooded");
}else if(j2>=3){
alert("Junction 2 is flooded");
}else if(j3>=3){
alert("Junction 3 is flooded");
}else if ((j1&&j2)>=3){
alert("Junction 1 & 2 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j2&&j3)>=3){
alert("Junction 2 & 3 are flooded");
}else if ((j1&&j3)>=3){
alert("Junction 1 & 3 are flooded");
}else if ((j1&&j3&&j2)>=3){
alert("All 3 junctions are flooded");
}
}
}






javascript






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 21 '18 at 16:22









inzam zamaninzam zaman

63




63













  • times is undefined while time is declared but not defined too. time + 5000; isn't helpful, did you mean time += 5000;?

    – Rafael
    Nov 21 '18 at 16:25













  • if((j1||j2||j3) >= 3) is a non sense, you can't factorise conditions such way.

    – Cid
    Nov 21 '18 at 16:34











  • while (time === 30000) this part will always be false and the loop never executed.

    – Cid
    Nov 21 '18 at 16:35











  • the value of j1,j2,j3 gets changed every 10 seconds with updated data and value of time is updated as well

    – inzam zaman
    Nov 21 '18 at 17:51



















  • times is undefined while time is declared but not defined too. time + 5000; isn't helpful, did you mean time += 5000;?

    – Rafael
    Nov 21 '18 at 16:25













  • if((j1||j2||j3) >= 3) is a non sense, you can't factorise conditions such way.

    – Cid
    Nov 21 '18 at 16:34











  • while (time === 30000) this part will always be false and the loop never executed.

    – Cid
    Nov 21 '18 at 16:35











  • the value of j1,j2,j3 gets changed every 10 seconds with updated data and value of time is updated as well

    – inzam zaman
    Nov 21 '18 at 17:51

















times is undefined while time is declared but not defined too. time + 5000; isn't helpful, did you mean time += 5000;?

– Rafael
Nov 21 '18 at 16:25







times is undefined while time is declared but not defined too. time + 5000; isn't helpful, did you mean time += 5000;?

– Rafael
Nov 21 '18 at 16:25















if((j1||j2||j3) >= 3) is a non sense, you can't factorise conditions such way.

– Cid
Nov 21 '18 at 16:34





if((j1||j2||j3) >= 3) is a non sense, you can't factorise conditions such way.

– Cid
Nov 21 '18 at 16:34













while (time === 30000) this part will always be false and the loop never executed.

– Cid
Nov 21 '18 at 16:35





while (time === 30000) this part will always be false and the loop never executed.

– Cid
Nov 21 '18 at 16:35













the value of j1,j2,j3 gets changed every 10 seconds with updated data and value of time is updated as well

– inzam zaman
Nov 21 '18 at 17:51





the value of j1,j2,j3 gets changed every 10 seconds with updated data and value of time is updated as well

– inzam zaman
Nov 21 '18 at 17:51












3 Answers
3






active

oldest

votes


















0














time+5000; doesn't do anything for you because time is undefined because all you did was declare, but not initialize it with:



var time; // Declared but not initialized === undefined


and you can't do math with undefined.



Additionally, you aren't capturing the result of the math operation.



Make it:



var time = 0; // Declared and initialized ;)


and then:



time = time + 5000; // Assign result of expression back to variable


Next, your if conditions are incorrect. Tests for multiple values must be done individually, so this:



if((j1||j2||j3)>=3){


needs to become this:



if(j1 >= 3 || j2 >= 3 || j3 >=3){


Lastly, the way your code is now, time will only ever be incremented once, to a value of 5000, so you will never enter into your while loop. Then, even if do enter your loop, you don't modify the value of time within it, so the loop will never end. You need to set up some kind of condition to check to determine if the loop should continue. It should be something like:



while(time < 50000){
if(time === 30000){
if(j1 >= 3){
alert("Junction 1 is flooded");
}else if(j2 >= 3){
alert("Junction 2 is flooded");
}else if(j3 >= 3){
alert("Junction 3 is flooded");
}else if (j1 >= 3 && j2 >=3){
alert("Junction 1 & 2 are flooded");
}else if (j1 >= 3 && j3 >= 3){
alert("Junction 1 & 3 are flooded");
}else if (j2 >= 3 && j3 >=3){
alert("Junction 2 & 3 are flooded");
}else if (j1 >= 3 && j3>=3){
alert("Junction 1 & 3 are flooded");
}else if (j1 >=3 && j3 >=3 &&j2 >=3){
alert("All 3 junctions are flooded");
}
}

time = time + 5000; // <-- You need to create a situation where the loop can end!
}


So, putting it all together:






var j1 = 0;
var j2 = 0;
var j3 = 4;

var time = 0;

if(j1 >= 3 || j2 >= 3 || j3 >=3){

while(time < 50000){
// Check what time is with an "if"
if(time === 30000){
if(j1 >= 3){
alert("Junction 1 is flooded");
}else if(j2 >= 3){
alert("Junction 2 is flooded");
}else if(j3 >= 3){
alert("Junction 3 is flooded");
}else if (j1 >= 3 && j2 >=3){
alert("Junction 1 & 2 are flooded");
}else if (j1 >= 3 && j3 >= 3){
alert("Junction 1 & 3 are flooded");
}else if (j2 >= 3 && j3 >=3){
alert("Junction 2 & 3 are flooded");
}else if (j1 >= 3 && j3>=3){
alert("Junction 1 & 3 are flooded");
}else if (j1 >=3 && j3 >=3 &&j2 >=3){
alert("All 3 junctions are flooded");
}
}

time = time + 5000; // <-- You need to create a situation where the loop can end!
}
}








share|improve this answer


























  • while(time === 30000) will always be false, and if it's true, it will result an infinite loop

    – Cid
    Nov 21 '18 at 16:37











  • @Cid I didn't initially intend to fix every error in the code as the question didn't ask about those things. But, I have at this point.

    – Scott Marcus
    Nov 21 '18 at 16:47



















0














You should set time equal to 0 and use += to increment it.



var time=0;

if(j1>=3||j2>=3||j3>=3){


time+=5000;


Just writing var time; is the same as var time = undefined and you can not perform mathematical operations on undefined. You need to initialize the variable.



To increment the time variable, you need to set it to 5000 plus itself or time = time + 5000 or as shorthand, time += 5000.






share|improve this answer

































    0














    use time+=5000; instead time+5000;






    share|improve this answer


























    • Still won't work because time is not initialized.

      – Scott Marcus
      Nov 21 '18 at 16:29












    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53416402%2freferenceerror-time-is-not-defined%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    time+5000; doesn't do anything for you because time is undefined because all you did was declare, but not initialize it with:



    var time; // Declared but not initialized === undefined


    and you can't do math with undefined.



    Additionally, you aren't capturing the result of the math operation.



    Make it:



    var time = 0; // Declared and initialized ;)


    and then:



    time = time + 5000; // Assign result of expression back to variable


    Next, your if conditions are incorrect. Tests for multiple values must be done individually, so this:



    if((j1||j2||j3)>=3){


    needs to become this:



    if(j1 >= 3 || j2 >= 3 || j3 >=3){


    Lastly, the way your code is now, time will only ever be incremented once, to a value of 5000, so you will never enter into your while loop. Then, even if do enter your loop, you don't modify the value of time within it, so the loop will never end. You need to set up some kind of condition to check to determine if the loop should continue. It should be something like:



    while(time < 50000){
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }


    So, putting it all together:






    var j1 = 0;
    var j2 = 0;
    var j3 = 4;

    var time = 0;

    if(j1 >= 3 || j2 >= 3 || j3 >=3){

    while(time < 50000){
    // Check what time is with an "if"
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }
    }








    share|improve this answer


























    • while(time === 30000) will always be false, and if it's true, it will result an infinite loop

      – Cid
      Nov 21 '18 at 16:37











    • @Cid I didn't initially intend to fix every error in the code as the question didn't ask about those things. But, I have at this point.

      – Scott Marcus
      Nov 21 '18 at 16:47
















    0














    time+5000; doesn't do anything for you because time is undefined because all you did was declare, but not initialize it with:



    var time; // Declared but not initialized === undefined


    and you can't do math with undefined.



    Additionally, you aren't capturing the result of the math operation.



    Make it:



    var time = 0; // Declared and initialized ;)


    and then:



    time = time + 5000; // Assign result of expression back to variable


    Next, your if conditions are incorrect. Tests for multiple values must be done individually, so this:



    if((j1||j2||j3)>=3){


    needs to become this:



    if(j1 >= 3 || j2 >= 3 || j3 >=3){


    Lastly, the way your code is now, time will only ever be incremented once, to a value of 5000, so you will never enter into your while loop. Then, even if do enter your loop, you don't modify the value of time within it, so the loop will never end. You need to set up some kind of condition to check to determine if the loop should continue. It should be something like:



    while(time < 50000){
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }


    So, putting it all together:






    var j1 = 0;
    var j2 = 0;
    var j3 = 4;

    var time = 0;

    if(j1 >= 3 || j2 >= 3 || j3 >=3){

    while(time < 50000){
    // Check what time is with an "if"
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }
    }








    share|improve this answer


























    • while(time === 30000) will always be false, and if it's true, it will result an infinite loop

      – Cid
      Nov 21 '18 at 16:37











    • @Cid I didn't initially intend to fix every error in the code as the question didn't ask about those things. But, I have at this point.

      – Scott Marcus
      Nov 21 '18 at 16:47














    0












    0








    0







    time+5000; doesn't do anything for you because time is undefined because all you did was declare, but not initialize it with:



    var time; // Declared but not initialized === undefined


    and you can't do math with undefined.



    Additionally, you aren't capturing the result of the math operation.



    Make it:



    var time = 0; // Declared and initialized ;)


    and then:



    time = time + 5000; // Assign result of expression back to variable


    Next, your if conditions are incorrect. Tests for multiple values must be done individually, so this:



    if((j1||j2||j3)>=3){


    needs to become this:



    if(j1 >= 3 || j2 >= 3 || j3 >=3){


    Lastly, the way your code is now, time will only ever be incremented once, to a value of 5000, so you will never enter into your while loop. Then, even if do enter your loop, you don't modify the value of time within it, so the loop will never end. You need to set up some kind of condition to check to determine if the loop should continue. It should be something like:



    while(time < 50000){
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }


    So, putting it all together:






    var j1 = 0;
    var j2 = 0;
    var j3 = 4;

    var time = 0;

    if(j1 >= 3 || j2 >= 3 || j3 >=3){

    while(time < 50000){
    // Check what time is with an "if"
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }
    }








    share|improve this answer















    time+5000; doesn't do anything for you because time is undefined because all you did was declare, but not initialize it with:



    var time; // Declared but not initialized === undefined


    and you can't do math with undefined.



    Additionally, you aren't capturing the result of the math operation.



    Make it:



    var time = 0; // Declared and initialized ;)


    and then:



    time = time + 5000; // Assign result of expression back to variable


    Next, your if conditions are incorrect. Tests for multiple values must be done individually, so this:



    if((j1||j2||j3)>=3){


    needs to become this:



    if(j1 >= 3 || j2 >= 3 || j3 >=3){


    Lastly, the way your code is now, time will only ever be incremented once, to a value of 5000, so you will never enter into your while loop. Then, even if do enter your loop, you don't modify the value of time within it, so the loop will never end. You need to set up some kind of condition to check to determine if the loop should continue. It should be something like:



    while(time < 50000){
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }


    So, putting it all together:






    var j1 = 0;
    var j2 = 0;
    var j3 = 4;

    var time = 0;

    if(j1 >= 3 || j2 >= 3 || j3 >=3){

    while(time < 50000){
    // Check what time is with an "if"
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }
    }








    var j1 = 0;
    var j2 = 0;
    var j3 = 4;

    var time = 0;

    if(j1 >= 3 || j2 >= 3 || j3 >=3){

    while(time < 50000){
    // Check what time is with an "if"
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }
    }





    var j1 = 0;
    var j2 = 0;
    var j3 = 4;

    var time = 0;

    if(j1 >= 3 || j2 >= 3 || j3 >=3){

    while(time < 50000){
    // Check what time is with an "if"
    if(time === 30000){
    if(j1 >= 3){
    alert("Junction 1 is flooded");
    }else if(j2 >= 3){
    alert("Junction 2 is flooded");
    }else if(j3 >= 3){
    alert("Junction 3 is flooded");
    }else if (j1 >= 3 && j2 >=3){
    alert("Junction 1 & 2 are flooded");
    }else if (j1 >= 3 && j3 >= 3){
    alert("Junction 1 & 3 are flooded");
    }else if (j2 >= 3 && j3 >=3){
    alert("Junction 2 & 3 are flooded");
    }else if (j1 >= 3 && j3>=3){
    alert("Junction 1 & 3 are flooded");
    }else if (j1 >=3 && j3 >=3 &&j2 >=3){
    alert("All 3 junctions are flooded");
    }
    }

    time = time + 5000; // <-- You need to create a situation where the loop can end!
    }
    }






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 21 '18 at 16:51

























    answered Nov 21 '18 at 16:25









    Scott MarcusScott Marcus

    40.4k52041




    40.4k52041













    • while(time === 30000) will always be false, and if it's true, it will result an infinite loop

      – Cid
      Nov 21 '18 at 16:37











    • @Cid I didn't initially intend to fix every error in the code as the question didn't ask about those things. But, I have at this point.

      – Scott Marcus
      Nov 21 '18 at 16:47



















    • while(time === 30000) will always be false, and if it's true, it will result an infinite loop

      – Cid
      Nov 21 '18 at 16:37











    • @Cid I didn't initially intend to fix every error in the code as the question didn't ask about those things. But, I have at this point.

      – Scott Marcus
      Nov 21 '18 at 16:47

















    while(time === 30000) will always be false, and if it's true, it will result an infinite loop

    – Cid
    Nov 21 '18 at 16:37





    while(time === 30000) will always be false, and if it's true, it will result an infinite loop

    – Cid
    Nov 21 '18 at 16:37













    @Cid I didn't initially intend to fix every error in the code as the question didn't ask about those things. But, I have at this point.

    – Scott Marcus
    Nov 21 '18 at 16:47





    @Cid I didn't initially intend to fix every error in the code as the question didn't ask about those things. But, I have at this point.

    – Scott Marcus
    Nov 21 '18 at 16:47













    0














    You should set time equal to 0 and use += to increment it.



    var time=0;

    if(j1>=3||j2>=3||j3>=3){


    time+=5000;


    Just writing var time; is the same as var time = undefined and you can not perform mathematical operations on undefined. You need to initialize the variable.



    To increment the time variable, you need to set it to 5000 plus itself or time = time + 5000 or as shorthand, time += 5000.






    share|improve this answer






























      0














      You should set time equal to 0 and use += to increment it.



      var time=0;

      if(j1>=3||j2>=3||j3>=3){


      time+=5000;


      Just writing var time; is the same as var time = undefined and you can not perform mathematical operations on undefined. You need to initialize the variable.



      To increment the time variable, you need to set it to 5000 plus itself or time = time + 5000 or as shorthand, time += 5000.






      share|improve this answer




























        0












        0








        0







        You should set time equal to 0 and use += to increment it.



        var time=0;

        if(j1>=3||j2>=3||j3>=3){


        time+=5000;


        Just writing var time; is the same as var time = undefined and you can not perform mathematical operations on undefined. You need to initialize the variable.



        To increment the time variable, you need to set it to 5000 plus itself or time = time + 5000 or as shorthand, time += 5000.






        share|improve this answer















        You should set time equal to 0 and use += to increment it.



        var time=0;

        if(j1>=3||j2>=3||j3>=3){


        time+=5000;


        Just writing var time; is the same as var time = undefined and you can not perform mathematical operations on undefined. You need to initialize the variable.



        To increment the time variable, you need to set it to 5000 plus itself or time = time + 5000 or as shorthand, time += 5000.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 21 '18 at 16:46

























        answered Nov 21 '18 at 16:26









        hev1hev1

        5,9533729




        5,9533729























            0














            use time+=5000; instead time+5000;






            share|improve this answer


























            • Still won't work because time is not initialized.

              – Scott Marcus
              Nov 21 '18 at 16:29
















            0














            use time+=5000; instead time+5000;






            share|improve this answer


























            • Still won't work because time is not initialized.

              – Scott Marcus
              Nov 21 '18 at 16:29














            0












            0








            0







            use time+=5000; instead time+5000;






            share|improve this answer















            use time+=5000; instead time+5000;







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 21 '18 at 16:47









            pushkin

            4,698112954




            4,698112954










            answered Nov 21 '18 at 16:25









            karthikdivikarthikdivi

            1,32811530




            1,32811530













            • Still won't work because time is not initialized.

              – Scott Marcus
              Nov 21 '18 at 16:29



















            • Still won't work because time is not initialized.

              – Scott Marcus
              Nov 21 '18 at 16:29

















            Still won't work because time is not initialized.

            – Scott Marcus
            Nov 21 '18 at 16:29





            Still won't work because time is not initialized.

            – Scott Marcus
            Nov 21 '18 at 16:29


















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53416402%2freferenceerror-time-is-not-defined%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            鏡平學校

            ꓛꓣだゔៀៅຸ໢ທຮ໕໒ ,ໂ'໥໓າ໼ឨឲ៵៭ៈゎゔit''䖳𥁄卿' ☨₤₨こゎもょの;ꜹꟚꞖꞵꟅꞛေၦေɯ,ɨɡ𛃵𛁹ޝ޳ޠ޾,ޤޒޯ޾𫝒𫠁သ𛅤チョ'サノބޘދ𛁐ᶿᶇᶀᶋᶠ㨑㽹⻮ꧬ꧹؍۩وَؠ㇕㇃㇪ ㇦㇋㇋ṜẰᵡᴠ 軌ᵕ搜۳ٰޗޮ޷ސޯ𫖾𫅀ल, ꙭ꙰ꚅꙁꚊꞻꝔ꟠Ꝭㄤﺟޱސꧨꧼ꧴ꧯꧽ꧲ꧯ'⽹⽭⾁⿞⼳⽋២៩ញណើꩯꩤ꩸ꩮᶻᶺᶧᶂ𫳲𫪭𬸄𫵰𬖩𬫣𬊉ၲ𛅬㕦䬺𫝌𫝼,,𫟖𫞽ហៅ஫㆔ాఆఅꙒꚞꙍ,Ꙟ꙱エ ,ポテ,フࢰࢯ𫟠𫞶 𫝤𫟠ﺕﹱﻜﻣ𪵕𪭸𪻆𪾩𫔷ġ,ŧآꞪ꟥,ꞔꝻ♚☹⛵𛀌ꬷꭞȄƁƪƬșƦǙǗdžƝǯǧⱦⱰꓕꓢႋ神 ဴ၀க௭எ௫ឫោ ' េㇷㇴㇼ神ㇸㇲㇽㇴㇼㇻㇸ'ㇸㇿㇸㇹㇰㆣꓚꓤ₡₧ ㄨㄟ㄂ㄖㄎ໗ツڒذ₶।ऩछएोञयूटक़कयँृी,冬'𛅢𛅥ㇱㇵㇶ𥄥𦒽𠣧𠊓𧢖𥞘𩔋цѰㄠſtʯʭɿʆʗʍʩɷɛ,əʏダヵㄐㄘR{gỚṖḺờṠṫảḙḭᴮᵏᴘᵀᵷᵕᴜᴏᵾq﮲ﲿﴽﭙ軌ﰬﶚﶧ﫲Ҝжюїкӈㇴffצּ﬘﭅﬈軌'ffistfflſtffतभफɳɰʊɲʎ𛁱𛁖𛁮𛀉 𛂯𛀞నఋŀŲ 𫟲𫠖𫞺ຆຆ ໹້໕໗ๆทԊꧢꧠ꧰ꓱ⿝⼑ŎḬẃẖỐẅ ,ờỰỈỗﮊDžȩꭏꭎꬻ꭮ꬿꭖꭥꭅ㇭神 ⾈ꓵꓑ⺄㄄ㄪㄙㄅㄇstA۵䞽ॶ𫞑𫝄㇉㇇゜軌𩜛𩳠Jﻺ‚Üမ႕ႌႊၐၸဓၞၞၡ៸wyvtᶎᶪᶹစဎ꣡꣰꣢꣤ٗ؋لㇳㇾㇻㇱ㆐㆔,,㆟Ⱶヤマފ޼ޝަݿݞݠݷݐ',ݘ,ݪݙݵ𬝉𬜁𫝨𫞘くせぉて¼óû×ó£…𛅑הㄙくԗԀ5606神45,神796'𪤻𫞧ꓐ㄁ㄘɥɺꓵꓲ3''7034׉ⱦⱠˆ“𫝋ȍ,ꩲ軌꩷ꩶꩧꩫఞ۔فڱێظペサ神ナᴦᵑ47 9238їﻂ䐊䔉㠸﬎ffiﬣ,לּᴷᴦᵛᵽ,ᴨᵤ ᵸᵥᴗᵈꚏꚉꚟ⻆rtǟƴ𬎎

            Why https connections are so slow when debugging (stepping over) in Java?