JavaScript-回调函数
什么是回调函数?
百度百科解释为:
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
回调方法是任何一个被以该回调方法为其第一个参数的其它方法调用的方法。
很多时候,回调是一个当某些事件发生时被调用的方法。
自己总结为:
回调函数是一种编程手段,可以理解成被作为函数参数传递的函数对象。
在JavaScript中function是内置的类对象,function是一种对象,可以储存在变量中通过参数传递给别的function,在函数内部创建返回结果值;
一个简单的例子:
1 function abc(fn){ 2 // fn就是回调函数 3 fn(3,5); 4 } 5 6 7 function getSum(a,b){ 8 console.log(a+b); 9 } 10 11 abc(getSum);
使用回调函数注意避免过多的嵌套,否则会造成代码很难维护,不易懂。
使用回调函数的好处:
具有灵活性,虽然也可以在函数内调用函数,但是这样的固定性比较大,如果使用回调函数,被调用的函数就具有了灵活性。
回调函数可以应用在某个事件完成或者某个时间达到再去执行函数
1 var i=0; 2 // 在这里animation函数就是回调函数,每间隔1000毫秒回调执行一次这个函数 3 var ids=setInterval(animation,1000); 4 // 返回一个值,这个值就是当前定时器的标识id 5 function animation(){ 6 i++; 7 console.log(i); 8 if(i>10){ 9 // clearInterval清除定时器,ids就是刚才设置定时器时的返回标识id 10 clearInterval(ids); 11 } 12 }

浙公网安备 33010602011771号