閉包的作用


學習文章

----阮一峰的網絡日志

---- js閉包的用途

 

總結筆記

閉包定義:定義在一個函數內部的函數,靜態保存所有了父級作用域的內部函數。

 

作用:

1.將函數作為參數傳入另外一個函數。

    var arr = [2,10,6,9,7,8];
    var arr1 = arr.sort(function(a,b){
        return a-b;
    });
    alert(arr1);  //2,6,7,8,9,10
    alert(arr); //2,6,7,8,9,10

2.實現封裝,管理私有變量和私有方法,將變量(狀態)的變化封裝在安全的環境中。

var person = function(){    
    //變量作用域為函數內部,外部無法訪問,不會與外部變量發生重名沖突    
    var name = "default";       
       
    return {
      //管理私有變量    
       getName : function(){    
           return name;    
       },    
       setName : function(newName){    
           name = newName;    
       }    
    }    
}();   

3.匿名自執行函數。在匿名自執行函數傳入一個閉包函數,匿名自執行函數執行完立即銷毀,可以減小內存消耗。

    (function(){
      var foo = function(){
          alert("執行完這個閉包后,立即銷毀");
      };
        foo();
    })();

  

4.讓變量始終保持在內存中,內存消耗會很大,這是一個缺點。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM