JavaScript closure and scope chain -
Can anyone explain why I think the answer to this question is more intense than the duplicate question , so this post is worth keeping. "post-text" itemprop = "text"> Sure. In your What is actually happening is that external variables each closure So, for the first time through the loop, you get a task that gives In the loop at the end, Update address address question. It's a little confusing since you use ... You can return all the functions in your other variables, which I ... document.write part always 10 output?
function creatFunctions () {var results = new array (); For (var i = 0; i & lt; 10; i ++) {result [i] = function () {return i; }} Return result; } Var funcs = creatFunctions (); For (var i = 0; i & lt; funcs.length; i ++) {document.write (funcs [i] () + "
in the loop, you reference
i . Do you expect this to happen that every stop time ceremony has been created but I get a snapshot, so in the first ceremony it will return 0, then 1, etc.
i is to get references, which
i to
i in the loop as .
i , which is 0 at this point. Next time you get two functions which are
i , which is now 1, etc.
i == 10 , and each function
i in two different contexts. I could make a very slight changes in your code will, so that it becomes clear that what is happening:
function creatFunctions () {var result = new Array (); For (var i = 0; i & lt; 10; i ++) {result [i] = function () {return i; }} Return result; } Var funcs = creatFunctions (); // Note: I it`s the `unrelated_variable` for I`d change (unrelated_variable = 0 var; unrelated_variable & LT; funcs.length; unrelated_variable ++) {document.write (funcs [unrelated_variable] () + '& lt ;);}
creatFunctions () function
i < / code>. in particular, they say that you return
I to create the loop.
unrelated_variable has been named, there is no effect on the price derived from your closing.
Results [i] = F Quote () {return i;}
is not similar to the result [2] = 2 . This means the
result [2] = the_current_value_of_i
Comments
Post a Comment