微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

前言

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

实例

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

rush:js;"> var person;

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

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

他有个名字叫小明。

rush:js;"> person.name = '小明';

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

rush:js;"> alert(person.name);

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

rush:js;"> person.money = '10块钱';

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

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

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

运行:

rush:js;"> person.spendMoney();

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

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

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

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

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

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

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

于是就应该这样:

rush:js;"> person.spendMoney =function(doSomeThing){ doSomeThing(); }

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

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

一个数据类型。

一样的。

JAVA里面会这么写:

rush:java;"> String str ="HelloWorld!";

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

rush:js;"> var say =function(){

alert('HelloWorld');

}

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

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

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

rush:js;"> person.spendMoney(function(){});

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

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

所以:

rush:js;"> person.spendMoney =function(doSomeThing){ doSomeThing(); }

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

具体做什么,自己决定。

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

总结

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐