闭包
JavaScript支持闭包特性。
允许引用在当前函数以外定义的变量
1
2
3
4
5
6
7
8
9
10
function make(){
var base = "base";
function appendWord(word){
return base + " and " + word;
}
return appendWord("bi");
}
/* base and bi */
alert(make())
可以返回一个内部函数,并在后面调用
1
2
3
4
5
6
7
8
9
10
11
12function make(){
var base = "base";
function appendWord(word){
return base + " and " + word;
}
return appendWord;
}
var func = make();
/*base and bi*/
console.log(func("bi"));
/*base and bao*/
console.log(func("bao"));
- 闭包可以更新外部变量的值