您的位置:首页 > Web前端 > JavaScript

关于Javascript回调函数的一个妙用

2016-08-29 00:00 676 查看
前言

其实回调函数简单通俗点就是当有a和b两个函数,当a作为参数传给b,并在b中执行,这时a就是一个回调(callback)函数,如果a是一个匿名函数,则为匿名回调函数那下面们来通过一个实例来具体解释下Javascript回调函数怎么使用。

实例

在很久很久以前,有一个人。

var person;


他是个人,也就是一个对象。

person= {}; // 在JavaScript中,花括号就代表是一个对象


他有个名字叫小明。

person.name = '小明';


看一下是不是真的叫小明。

alert(person.name);


嗯,有一天,小明捡到了10块钱。

person.money = '10块钱';


有了钱就要花,于是他打算把10块钱用掉。

小明有一个花钱的方法
spendMoney ()


person.spendMoney =function(){  alert(this.name +"用 "+this.money +" 块钱买了漫画书!");  }


运行:

person.spendMoney();


弹出提示:小明用10块钱买了漫画书。

好了,问题来了,小明花钱就非得买漫画书吗,肯定不是。

事实情况应该是,这钱怎么办,还是由他自己说了算。因为钱在小明的口袋里。

所以,就可以用回调函数了。

回调函数本身就是一个数据类型。

在javaScript中,函数的地位和java中的
String
int
boolean
等等都是一样的,都可以看成是一个数据类型。

既然是数据类型,当然可以当成参数传递。

于是就应该这样:

person.spendMoney =function(doSomeThing){  doSomeThing();  }


打了个括号就是执行函数的意思。

没打括号的函数,就是和
String
int
一样的玩意儿。

是一个数据类型。

一样的。

JAVA里面会这么写:

String str ="HelloWorld!";


在JavaScript中,函数也是一样的。

var say =function(){

alert('HelloWorld');

}


这时候的
say
就是一个数据类型。

因为没有打括号,打了括号他才会执行!

小明用十块钱做什么,他自己说了算。

person.spendMoney(function(){});


这样就是把函数传进去了。

把函数传入
spendMoney
方法的目的就是让函数在里面执行的。

所以:

person.spendMoney =function(doSomeThing){  doSomeThing(); }


里面就打了括号,代表要执行这个函数。

具体做什么,自己决定。

person.spendMoney(function(){  alert('还是把钱存起来吧!'); });


总结

就是可以将函数作为一个参数,传入一个方法内,并且能够在该方法中执行这个函数,这也就是js特有的回调函数的魔力。

以上就是关于Javascript回调函数用法的全部内容,希望对大家的学习和工作能有所帮助。如果有疑问可以留言讨论。

您可能感兴趣的文章:

浅析JavaScript回调函数应用
JS动态插入并立即执行回调函数的方法
Javascript基于AJAX回调函数传递参数实例分析
js自定义回调函数
详解JavaScript的回调函数
谈谈JavaScript自定义回调函数
js的回调函数详解
对js中回调函数的一些看法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 回调函数 用法