Sunday, 15 January 2012

javascript - Why does my for loop only push to array when the loop has no brackets -



javascript - Why does my for loop only push to array when the loop has no brackets -

i have written next function should log array origin @ "0" , ending function's argument (in case "40") console.

function range(num) { var holder = []; for(var = 0; <= num; i++) { holder.push(i); homecoming holder; } } console.log(range(40));

this instead logs "undefined". have noticed however, removing loop's brackets this:

function range(num) { var holder = []; for(var = 0; <= num; i++) holder.push(i); homecoming holder; } console.log(range(40));

causes function work correctly, great except not understand why function works. can explain?

the return needs outside loop or leave function after first push

function range(num) { var holder = []; for(var = 0; <= num; i++) { holder.push(i); } homecoming holder; // must outside } console.log(range(40));

a single statement in loop not need brackets recommended have them anyway. here above single statement.

function range(num) { var holder = []; for(var = 0; <= num; i++) holder.push(i); homecoming holder; // must outside } console.log(range(40));

javascript arrays for-loop

No comments:

Post a Comment