天天看點

js閉包使用

有時候我們在使用for循環操作變量指派的時候,會發現莫名其妙的值都變成了最後一個的值。這種情況就是 因為我們的變量在使用的過程中被污染了,也就是被後面的值給覆寫了。那麼為了解決這種情況,我們可以使用閉包。

 什麼是閉包?

閉包:即重用一個變量,又保護變量不被污染的一種機制。是指有權通路另一個函數作用域中的變量的函數。

什麼時候使用:隻要即重用一個變量,又保護變量不被污染時。

js使用閉包的案例:

for(var i=1;i<=10;i++){
    (function(num){                    //自我執行,并傳參(将匿名函數形成一個表達式)(傳遞一個參數)
                  
                  
                  
          return num;                            //這裡的num寫什麼都可以                    
    })(i);     
              
}      

建立閉包的常見方式,就是在一個函數内部建立另一個函數。

閉包可以用在許多地方。它的最大用處有兩個: