之前写的异步JS是纯译文,现在刚好工作了2个月,想谈谈我自己对JS回调函数的一点理解,欢迎渴望大家的指正和交流。
回调函数从形式上看就是把函数b作为参数传给函数a,在a的函数体里调用函数b
1 function a(b) { 2 b(); 3 } 4 function b() { 5 ... 6 }
这样做的意义是什么呢
1.控制执行流程,函数b只能在函数a执行后才执行
2.根据不同的需求,可以有各种各样的函数b
3.最重要的,是可以把通过函数a获取的数据传递给函数b
1 function a(callback) { 2 ... 3 var record; //经过一系列复杂的操作,拿到了数据record 4 callback(record); 5 } 6 function b(data) { 7 ... //data任凭处置 8 } 9 a(b);
我们对函数a里的record感兴趣,并在程序的其他的地方想要对record做各种各样的操作,那么就可以传入对应的回调函数。当然,这种方式的一个明显缺点(我目前的理解)是如果我们对record_2又感兴趣了,那么就不够灵活了。
时间: 2024-08-24 10:28:00