閉包要點

閉包

  1. 借助全局變量
    !function(){
    var user  = {
        name:'chiang',
        age:21
    }
    
    window.uesrGetter = {
      nameGetter:function(){
        return user.name    //拷貝了name的值
      },
      ageGetter:function(){
        return user.age
      },
      old:function(){
        user.age += 1
      }
    }
    }()
    
    !function(){
      window.userGetter.nameGetter()
      window.userGetter.ageGetter()
      window.userGetter.old()
    }()

由于userGetter作為window的一個屬性,所以其它地方可以訪問到這個函數(shù),又由于userGetter可以訪問到user的屬性,所以相當在于其他地方間接訪問了user,但是不能讓別的作用于修改user。

  1. 不借助全局變量
    !function(){
    function olderMaker(){
      var user  = {
        name:'chiang',
        age:21
      }
      return function(){
        user.age += 1
      }
      
      return older = olderMaker()
      older.call()
    }
    }()

olderMaker為了讓user有一個獨立的作用域,return function是為了讓其它作用域訪問user

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • ● 閉包基礎(chǔ) ● 閉包作用 ● 閉包經(jīng)典例子 ● 閉包應用 ● 閉包缺點 ● 參考資料 1、閉包基礎(chǔ) 作用域和作...
    lzyuan閱讀 1,038評論 0 0
  • 作用域和閉包是 JavaScript 最重要的概念之一,想要進一步學習 JavaScript,就必須理解 Java...
    劼哥stone閱讀 1,244評論 1 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,728評論 18 399
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,336評論 0 17
  • 夜已漸漸的深了,普通人家早已關(guān)上門,準備休息好來迎接第二天。 第二天總是充滿希望的。不管今天你怎么不開心遇到了什么...
    Hugh1029閱讀 550評論 0 0

友情鏈接更多精彩內(nèi)容