关于一个函数传入变量的问题

function count() { var arr = []; for (var i=1; i<=3; i++) { arr.push(function () { return i * i; }); } console.log(arr); return arr; } var results = count(); var f1 = results[0]; var f2 = results[1]; var f3 = results[2]; console.log(f1(),f2(),f3());

想知道results[0],这里的0是以什么样的身份在函数中存在~是变量吗?为什么和平时的变量传入方式不同

count函数返回的是return arr
其中arr是arr.push(function () { return i * i; });一个数组,数组内每个元素是一个函数定义。
 var results = count();//调用count后获取的就是函数数组。
 results[0],results[1],results[2]都是一个函数定义。

就是数组,数组的元素是一个函数指针。