JavaScriptでは、クローズド処理により、関数内の任意の変数の最後の値を含む問題のみ取得できます.
1220 ワード
<br>function createArray() {
<br>var arr = new Array();
<br>for (var i = 0; i < 10; i++) {
<br>arr[i] = function () {
<br>return i;
<br>}
<br>}
<br>return arr;
<br>}
<br>var funcs = createArray();
<br>for (var i = 0; i < funcs.length; i++) {
<br>document.write(funcs[i]() + "<br />");
<br>}
<br>// i (10), 10 10,
<br>// : createArray , i( )
<br>// :
<br>function createArray() {
<br>var arr = new Array();
<br>for (var i = 0; i < 10; i++) {
<br>arr[i] = function (num) {
<br>return function () {
<br>return num;
<br>}
<br>} (i);// ,
<br>}
<br>return arr;
<br>}
<br>var funcs = createArray();
<br>for (var i = 0; i < funcs.length; i++) {
<br>alert(funcs[i]() + "<br />");
<br>}
<br>//
<br>