第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

試問 如果 nAdd=n 是不是就可以利用全局變量提出局部變量n了啊?

function f1(){

    var n=999;

    nAdd=function(){n+=1}

    function f2(){
      alert(n);
    }

    return f2;

  }

  var result=f1();

  result(); // 999

  nAdd();

  result(); // 1000

如果不行的話?為何nAdd=function(){n+=1}可以調(diào)用里面的n呢?難道是因?yàn)閚Add是由一個(gè)函數(shù)調(diào)用的 那么如果nAdd在f1的外面也可以調(diào)用嗎?WHY??求大神

正在回答

1 回答

不行,我還是厚著臉皮再來一次。

首先,nAdd是全局變量,用nAdd = n的方式是可以吧局部變量暴露出去的,如果nAdd是簡單的基本類型,n的每一次變化都需要通過nAdd = n的方式賦值。

第二個(gè),關(guān)于n的作用域問題,這里nAdd的作用,形成閉包,局部變量n并不會(huì)在執(zhí)行完result()后銷毀而是繼續(xù)保存在內(nèi)存中。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Samuel_Yang 提問者

非常感謝!
2017-03-13 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
JavaScript深入淺出
  • 參與學(xué)習(xí)       281098    人
  • 解答問題       1048    個(gè)

由淺入深學(xué)習(xí)JS語言特性,且解析JS常見誤區(qū),從入門到掌握

進(jìn)入課程

試問 如果 nAdd=n 是不是就可以利用全局變量提出局部變量n了?。?/h1> 我要回答 關(guān)注問題

微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)