回调函数(1)
JavaScript中的回调无处不在,尤其是使用异步方式。因此理解回调函数就是第一步,以下是自己写的一个测试的示例。
//test,测试回调函数
console.log('this is the test 1');
function step1(callback){
console.log('step1');
//callback();
//function toString(){
// return 'step1';
//}
return function(){
console.log('callback1');
return callback;
};
}
function step2(callback){
console.log('step2');
//function toString(){
// return 'step2';
//}
//callback();
return function(){
console.log('callback2');
return callback;
};
}
function step3(){
console.log('step3');
}
step1(step2)()(step3)()();
//关于上面一行的分步说明
var s1 = step1(step2);//返回step1匿名函数
console.log(s1.toString());
var s2 = s1();//执行匿名函数,返回step2
console.log(s2.toString());
console.log(s2 == step2);//true
var s3 = s2(step3);//返回step2的匿名函数
console.log(s3.toString());
var s4 = s3();//执行匿名函数,返回step3
console.log(s4.toString());
console.log(s4 == step3);//true
s4();
console.log('test 1 end');