javascript回调函数

来源:互联网 发布:php手机论坛 编辑:程序博客网 时间:2024/05/21 09:57

回调函数

1.什么是回调函数

回调函数是作为参数传递给另一个函数的函数.首先我们来分析这句话.去除中间的修饰词,'回调函数是函数',它是什么样的函数,'它是另一个函数的参数'.
首先要将函数能够当做参数,因为在js里,函数也是对象,其实函数是用Function()构造函数创建的对象.例如下面这样
var fun =new Function(‘arg1’, ‘arg2’, ‘return arg1*arg2’)

2.回调函数的执行

其实我觉得在回调函数里难理解的不是它的概念,应该是它的执行时间,同时这也是它的精髓所在,正是因为它的执行时间与普通函数的区别,它才会被用广泛用于异步操作,提供了js的异步解决方案,所以现在可以应用在服务器端,比如现在很火的nodejs.
首先要明确,回调函数不会被马上执行,它会在包含它的方法内的某个特定时间执行.
例如 文件,图片加载完成后回调
DOM事件操作,例如onclick(function(){alert(‘我是回调函数’)})方法
获取服务器数据的AJAX请求成功后
setTimeout方法等.

3.回调函数的应用场景

回调函数在node js中广泛应用,因为从服务器获取数据,以及向服务器发送数据,这个过程其实是很漫长的,对于js这种单线程语言来说,为了避免无谓的等待,只能用回调函数的方式来处理各种异步的操作.当然当回调函数有多层嵌套的时候,就会陷入'回调地狱'.es7标准提出了近乎完美的解决方案async方法,现在有一些第三方库可以支持这种标准了.

0 0
原创粉丝点击