What is the difference between the two nested loops in javascript? -
function a() { var n1 = 0, n2 = 0; (; n1 < 100; n1++) { (; n2 < 100; n2++) { console.log(2); } console.log(1); } } a(); function b() { (var n1 = 0; n1 < 100; n1++) { (var n2 = 0; n2 < 100; n2++) { console.log(2); } console.log(1); } } b();
as can see.two simple nested loops,and looks have same output.but puzzles me function a() not output expected result,it loops outside , inside 100 times respectively.what's difference?
in b()
function n2
variable created (see @jfriend00 comment) reset during every a
loop iteration. set 0 , therefore b
loop goes whole length (100 times).
in a
variable n1
created once before inner loop, after first a
iteration (and 100 b
), n2
has value of 100. in second a
interation n2
checked if it's less 100. it's not, inner loop ends before started.
Comments
Post a Comment