作者keke0421 (zrae)
看板Ajax
標題[問題] IIFE的問題
時間Fri Nov 14 11:33:01 2014
各位大大好
var puzzlers = [
function ( a ) { return 8*a - 10; },
function ( a ) { return (a-3) * (a-3) * (a-3); },
function ( a ) { return a * a + 4; },
function ( a ) { return a % 5; }
];
var start = 2;
var applyAndEmpty = function(input, funQueue){
var result = input;
for ( ; funQueue.length>0;){
result = funQueue.shift()(result)(); //星號1
}
return result;
};
alert( applyAndEmpty(start,puzzlers)() ); //星號2
星號1和星號2的地方 我搞不太清楚 為什麼要加()這個立即執行的動作
不加的話有什麼差別嗎? 想不透
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.128.248
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Ajax/M.1415935983.A.13C.html
1F:推 mrbigmouth: 錯了吧? 兩邊都是多了一個() 這幾行程式我拿去直接 11/14 11:38
2F:→ mrbigmouth: 執行會報錯 11/14 11:38