Why does item have a value of ‘item3’? Doesn’t the for loop end when i becomes 3?
If it ends shouldn’t item still be
Nope. This example is a little tricky. During the last iteration of the loop,
i is 2, but it references the 3rd element of the
list array, which is 3. In other words,
item == 'item' + list == 'item3'
Or is the variable item created again when testList calls the functions?
No, you were almost right the first time. I think you just missed that
item has the value of 3.