回调函数的理解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function one() {
console.log('wo shi one');
}

function tow(callback) {
setTimeout(function(){
callback && callback();
}, 2000);
console.log('woshi toto');
}

tow(one);
console.log('outer');

// 输出结果
// woshi toto
// outer
// wo shi one

上面例子就是一个 回调函数使用的场景

setTimeout是一个异步操作; 在异步操作完成后执行 callback 函数;

1
2
3
4
5
6
7
8
9
10
function foo(){
var a = 10;
return function(){
a *= 2;
return a;
};
}
var f = foo();
f(); //return 20.
f(); //return 40.

顺带再理解一下闭包

闭包