對閉包的通俗理解-5Clay
來源:懂視網
責編:小采
時間:2020-11-27 20:12:20
對閉包的通俗理解-5Clay
對閉包的通俗理解-5Clay:說到閉包,就會涉及到js函數的變量作用域,分為局部變量和全局變量。函數內部可以直接讀取函數外部的變量,但是函數外部無法直接讀取函數內部的變量。但是有時我們需要拿到函數的局部變量,所以閉包就產生了,閉包就是在該函數里面再定義一個函數,如下代碼:
導讀對閉包的通俗理解-5Clay:說到閉包,就會涉及到js函數的變量作用域,分為局部變量和全局變量。函數內部可以直接讀取函數外部的變量,但是函數外部無法直接讀取函數內部的變量。但是有時我們需要拿到函數的局部變量,所以閉包就產生了,閉包就是在該函數里面再定義一個函數,如下代碼:

說到閉包,就會涉及到js函數的變量作用域,分為局部變量和全局變量。函數內部可以直接讀取函數外部的變量,但是函數外部無法直接讀取函數內部的變量。
但是有時我們需要拿到函數的局部變量,所以閉包就產生了,閉包就是在該函數里面再定義一個函數,如下代碼:
var foo=(function () {
var a="11";
return{
get_a:function () {
return a;
},
new_a:function (newValue) {
a=newValue;
}
}
} ())
console.log(foo.a) //
輸出undefined,因為函數外部不能直接訪問內部的局部變量
console.log(foo.get_a())//輸出11
foo.new_a("我是通過閉包改變的值")//調用并且傳參
console.log(foo.get_a()) //輸出我是通過閉包改變的值
這樣我們就可以在a函數外面獲取到它內部的局部變量了。在上述函數中,return里面的函數就是閉包。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
對閉包的通俗理解-5Clay
對閉包的通俗理解-5Clay:說到閉包,就會涉及到js函數的變量作用域,分為局部變量和全局變量。函數內部可以直接讀取函數外部的變量,但是函數外部無法直接讀取函數內部的變量。但是有時我們需要拿到函數的局部變量,所以閉包就產生了,閉包就是在該函數里面再定義一個函數,如下代碼: