js回调函数的理解



一、什么是Javascript 回调函数?

 

1、函数和其他数据一样可以被赋值,删除,拷贝等,也可以把函数作为参数传入到另一个函数中。回调函数,其实就是把函数作为参数传到函数中去运用。
 
2、回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。
 

3、因为函数在Javascript中是第一类对象,我们像对待对象一样对待函数,因此我们能像传递变量一样传递函数,在函数中返回函数,在其他函数中使用函数。当我们将一个回调函数作为参数传递给另一个函数是,我们仅仅传递了函数定义。我们并没有在参数中执行函数。我们并不传递像我们平时执行函数一样带有一对执行小括号()的函数。

4、需要注意的很重要的一点是回调函数并不会马上被执行。

 
 
二、回调函数将在以下几个方面帮助你:


1、 避免重复代码
2、 在你拥有更多多功能函数的地方实现更好的抽象(依然能保持所有功能)
3、 让代码具有更好的可维护性
4、使代码更容易阅读
5、 编写更多特定功能的函数

 
 
三、回调函数的使用场合
 

1、资源加载:动态加载js文件后执行回调,加载iframe后执行回调,ajax操作回调,图片加载完成执行回调,AJAX等等。
 
2、链式调用:链式调用的时候,在赋值器(setter)方法中(或者本身没有返回值的方法中)很容易实现链式调用,而取值器(getter)相对来说不好实现链式调用,因为你需要取值器返回你需要的数据而不是this指针,如果要实现链式方法,可以用回调函数来实现。

3、setTimeout和setInterval方法

4、异步调用(例如读取文件,进行HTTP请求,等等)



文章转载自: js回调函数    http://www.studyofnet.com/news/705.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章