Cool Guy Yo
Cool Guy Yo

Reputation: 6110

javascript for loop inside a function then output it to the page

Here is my code. I am expecting "the number is 1, the number is 2..." to be out putted up to 5 but all that is outputted is the number is 0 not sure why.

<script>
var i=0;
function test(){

for(i=0;i<=5;i++){
    return "the number is" + i;
}
}
</script>
<script>
document.write(test());
</script>

Upvotes: 1

Views: 20787

Answers (2)

Cheery
Cheery

Reputation: 16214

return "the number is" + i; It (the 'point' of script execution) returns back from the function with the first loop at i = 0

Write it as http://jsfiddle.net/hNWrg/

function test(){
var out = '';
for(var i=0;i<=5;i++){
    out += "the number is" + i + "<br>";
}
return out;
}

Upvotes: 5

Justin Beckwith
Justin Beckwith

Reputation: 7866

your function is returning 0 the first time through the loop :-) try this:

<script>
var i=0;
function test(){

for(i=0;i<=5;i++){
    document.write("the number is" + i);
}
}
</script>
<script>
test();
</script>

Upvotes: 2

Related Questions