Looping Statements in JavaScript - 09

Sign in to queue

Description

Looping (or rather, iteration) statements allow your application to individually access each item in an array or other collection of object properties. In this lesson we demonstrate four different looping statements pointing out the nuanced differences between each: the while, do ... while, for, and for ... in.

Tag:

JavaScript

Embed

Download

Download this episode

The Discussion

  • User profile image
    Ron Swank

    Bob you do an absolutely great job in presenting this information in an easy and understandable way that is not boring!

    It helped me clarify the loops by adding a playList[2] undefined when defining the titles, and numbered the titles.
    playlist[0] = "0- One for the team"
    playlist[1] = "1- The Joy Formidable"
    playlist[2]
    playlist[3] = "3- Young the Giant"
    playlist[4] = "4- Washed Out"

    Then each for loop examples showed what the loop was seeing, especially the “for...in” loop.

  • User profile image
    BobTabor

    Re-opening this closed thread ...

  • User profile image
    Matt

    Hi.
    Im working with php and to mee the codes are understadable at first.
    But, im getting interested in the next videos, because i want to know how to attach javascript with PHP lines, also attach Javascript with mysql querys and functions.

    Also interested how to create Javascript pop down windows like suggestion bars.

    Then how to make the jacascript execute the most server time to the user computer :)

    BUt theese videos are great :D watch them day by day.

  • User profile image
    Ilya Sitnikov

    Great videos!

    I had a question, though...

    For loop was showing undefined for me instead of displaying band names.

    The rest of loops worked fine - what am I doing wrong?

    Mine looks like this:

    for (var i = 0; i < playlist.length; i++);
    {
    document.write("<br/>Now Playing: " + playlist[i]);
    }

  • User profile image
    Ilya Sitnikov

    Great videos!

    I had a question, though...

    For loop was showing undefined for me instead of displaying band names.

    The rest of loops worked fine - what am I doing wrong?

    Mine looks like this:

    for (var i = 0; i < playlist.length; i++);
    {
    document.write("<br/>Now Playing: " + playlist[i]);
    }

  • User profile image
    BobTabor

    You have a ; at the end of your 'for' statement that ends it right there.  It never executes the block of code beneath it.  Remove the ; and it should work.  Good luck!

     

  • User profile image
    Ippy

    Hi Bob!!! I purchased your personal collection (lifetime!!) Smiley and also skilling up on C#, HTML5,CSS3, JavaScript & JQuery. I am SICK OF YOUR VOICE!!!!

    Seriously though;

    When defining variable in C# or JavaScript we have: Strings, Integers or Bolean as options

    If it's integers we normally start with 0 and change it:

    var myVar = 0

    if (some code) {} else, etc, etc...

    ----

    But I hit a wall when I either define the initial value as a NEGATIVE integer, or, if it's part of a looping code block becomes a negative integer.

    Is this illegal? Is there a way around it ? Or do I just stay with Positive integers as variables?

     

    Cheese from Australia!

    Ippy

     

  • User profile image
    BobTabor

    @Ippy: Check this out:

    http://jsfiddle.net/tugbx/

    I think it does what you asked for ... initializing a variable to a negative number and even doing a for loop with negatives.

    Does that help?

  • User profile image
    Ippy

    Bingo!

    Thank you,

    The learning curve will never end!

    cheeze

    Ippy

  • User profile image
    Lars

    Great series!! On Q though (regarding the for loop):

    The example you give is:

    for (var i = 0; i < playlist.length; i++)
    {
    document.write("<br />Now Playing: " + playlist[i]);
    }

    My Q is: Why will incrementing the iterator take place AFTER the loop has been performed and not before? I mean why is the incrementing part not read before the loop part of the code has had a chance to run?

  • User profile image
    BobTabor

    @Lars: I realize this may not be a satisfying answer, but to answer why?  That's just the way it works.  The iterator does not increment until after the code block has executed once.  If you want the iterator to start at 1 instead of 0, then do this instead:

    for (var i = 1; i < playlist.length; i++)

    Here's a URL with more information than you would ever want to know about loops, performance, variations, etc.:

    http://james.padolsey.com/javascript/looping-in-javascript/

    You might consider the 'while' or 'do..while' loop instead of the 'for' in some cases.

  • User profile image
    Lars

    Hi Bob, Thank you for your answer! Well I guess that is as good an answer as any - just a fact to be remembered - not necessarily to be fully understood. And thanks for the link!

Add Your 2 Cents