这是例一,按照书中说的函数返回的值应该是[10,10,10,10,10,10,10,10,10,10],可是返回的确是函数体本身function createFunctions(){ var result = new Array(); for (var i=0; i < 10; i++){ result[i] = function(){ return i; }; } return result; } 例二也是,返回的不是下标本身而是函数体function createFunctions(){ var result = new Array(); for (var i=0; i < 10; i++){ result[i] = function(num){ return function(){ return num; }; }(i); } return result; } 我将例一改成下面这样到是可以返回数字,但返回的是下标而不是10。function createFunctions(){ var result = new Array(); for (var i=0; i < 10; i++){ result[i] = (function(){ return i; })(); } return result; } 请问是为什么?
添加回答
举报
0/150
提交
取消