閉包形式上說,就是一個函數內部 包含一個函數 ,裏面的函數能夠訪問外面函數的變量,外面的函數不能訪問裏面函數的變量(做用域鏈只能向上級尋找)閉包
function makeAdder(a) {
return function(b) {
return a + b;
}
}
var x = makeAdder(5);
var y = makeAdder(20);
console.log(x(6));
console.log(y(7));函數
結果blog
在使用x()函數的時候,參數是5 (a=5) 這樣看着應該清晰好多作用域