我是一个JavaScript新手,试图理解下面的闭包练习。
现在,我知道结果是122。有没有人可以逐步向我解释这个过程(传递了什么),这样我就可以理解闭包是如何工作的?
var hidden = mystery(3);
var jumble = mystery3(hidden);
var result = jumble(2);
function mystery ( input ){
var secret = 4;
input+=2;
function mystery2 ( multiplier ) {
multiplier *= input;
return secret * multiplier;
}
return mystery2;
}
function mystery3 ( param ){
function mystery4 ( bonus ){
return param(6) + bonus;
}
return mystery4;
}