- 關於一個函數傳入變量的問題
-
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]都是一個函數定義。