You’re close…
Why does item have a value of ‘item3’? Doesn’t the for loop end when i becomes 3?
Yes.
If it ends shouldn’t item still be
‘item2’?
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[2] == '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[2]
has the value of 3.