What will be the last statement return in the following JavaScript code?
function constfuncs()
{
var funcs = [];
for(var i = 0; i < 10; i++)
funcs[i] = function() { return i; };
return funcs;
}
var funcs = constfuncs();
funcs[5]()
a) 9
b) 0
c) 10
d) 12
Answer: c
Explanation: The code above creates 10 closures, and stores them in an array. The closures are all defined within the same invocation of the function, so they share access to the variable i. When constfuncs() returns, the value of the variable i is 10, and all 10 closures share this value. Therefore, all the functions in the returned array of functions return the same value.
Related Posts
The database environment has all of the following components except:
Related fields in a database are grouped to form a
A logical schema
The language used in application programs to request data from the DBMS is referred to as the
NULL is
In case of entity integrity, the primary key may be
In an E-R diagram attributes are represented by
Join The Discussion