您的位置:首页 > 其它

理解闭包的四个案例

2018-03-09 14:19 267 查看
function love(name) {
var text = 'Hello ' + name;
var me = function() {
console.log(text);
}
return me;
}
var loveme = love('AutumnsWind');
loveme(); // 输出 Hello AutumnsWind
1
2
3
4
5
6
7
8
9
function love1() {
var num = 223;
var me1 = function() {
console.log(num);
}
num++;
return me1;
}
var loveme1 = love1();
loveme1(); // 输出224
1
2
3
4
5
6
7
8
9
10
function love2() {
var me2 = function() {
console.log(temp);
}
var temp = 'Hello AutumnsWind';
return me2;
}
love2()(); // 输出 Hello AutumnsWind
1
2
3
4
5
6
7
8
var get, add, set;

function setup() {
var num = 223;
get = function() {
console.log(num);
}
add = function() {
num++;
}
set = function(x) {
num = x;
}
}
setup();
add();
get(); // 224
set(5);
get(); // 5
var old = get;
setup();
get(); // 223
old() // 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
版权声明:Wsscat的分享,希望我写的文章能帮助到你 http://blog.csdn.net/qq_27080247/article/details/50735380
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: