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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么是“結束”?

什么是“結束”?

www說 2019-07-09 16:22:46
什么是“結束”?我問了一個關于賽跑和關閉的問題。什么是結束?它與賽跑有什么關系?
查看完整描述

3 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

我將舉一個例子(用JavaScript):

function makeCounter () {
  var count = 0;
  return function () {
    count += 1;
    return count;
  }
}

var x = makeCounter();

x(); returns 1

x(); returns 2

...etc...

這個函數makeCounter所做的是返回一個函數,我們稱之為x,它每次調用時都會計數一次。因為我們沒有為x提供任何參數,所以它必須以某種方式記住計數。它知道在什么叫做詞法作用域的基礎上找到它-它必須尋找它定義的地方,以找到值。這個“隱藏”值就是所謂的閉包。

我再舉一個例子:

function add (a) {
  return function (b) {
    return a + b;
  }
}

var add3 = add(3);

add3(4); returns 7

您可以看到,當您使用參數a(即3)調用Add時,該值包含在返回函數的閉包中,我們將其定義為add3。這樣,當我們調用add3時,它知道在哪里找到執行加法的a值。


查看完整回答
反對 回復 2019-07-09
  • 3 回答
  • 0 關注
  • 598 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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