最贊回答 / 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