作者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/cn.aspx?n=bbs/Ajax/M.1415935983.A.13C.html
1F:推 mrbigmouth: 错了吧? 两边都是多了一个() 这几行程式我拿去直接 11/14 11:38
2F:→ mrbigmouth: 执行会报错 11/14 11:38