最赞回答 / qizt
注意,var totalMiles = 0 这句是处在 calcTotalMiles 函数中。而你说的每次调用,调用的并不是 calcTotalMiles 这个函数,而是 calcTotalMiles 这个函数的返回值,也就是另一个函数。返回的函数被命名为 dailyTwoMiles 或者 dailyThreeMiles,返回函数的内容是闭包内容:{totalMiles += todayMiles; return totalMiles; },其中并没有对 totalMiles 重置的语句,所以totalM...
2015-02-17
最新回答 / luciferaaa
因为闭包中包含该句: return {totalMiles+=todayMiles;return totalMiles}; 再次调用只是执行此闭包,不再执行外在参数赋值部分。
2015-01-27