亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么在每次調用時,totalmiles不會被置為0呢?

為什么在每次調用時,totalmiles不會被置為0呢?我也有同樣的問題

正在回答

1 回答

注意,var totalMiles = 0 這句是處在 calcTotalMiles 函數中。

而你說的每次調用,調用的并不是 calcTotalMiles 這個函數,而是?calcTotalMiles 這個函數的返回值,也就是另一個函數。返回的函數被命名為?dailyTwoMiles 或者?dailyThreeMiles,返回函數的內容是閉包內容:{totalMiles += todayMiles; return totalMiles; },其中并沒有對 totalMiles 重置的語句,所以totalMiles不會被重置。

那么問題來了,totalMiles 什么時候被重置。很簡單,var totalMiles = 0 處在?calcTotalMiles 函數中,當然是 calcTotalMiles 被調用時會被重置,也就是?var dailyTwoMiles = calcTotalMiles(2) 和?var dailyThreeMiles = calcTotalMiles(3) 這兩句在運行時會重置 titalMiles.

1 回復 有任何疑惑可以回復我~
#1

點擊獲取獎勵

可能是沿襲了太多編程OC遺留下來的思想和習慣 .. 對于 'totalMiles在之后的幾次調用中 , 值都能保存下來' 這個問題還是比較費解 . 能否將其看作是一個 靜態變量 ? 或者是一個指針? 還是說應該換一種思想去看待這一問題呢?
2015-06-18 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么在每次調用時,totalmiles不會被置為0呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號