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>