简单理解js回调函数
前言
其实回调函数简单通俗点就是当有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回调函数用法的全部内容,希望对大家的学习和工作能有所帮助。如果有疑问可以留言讨论。
简单理解js回调函数的更多相关文章
- 如何理解JS回调函数
1.回调函数英文解释: A callback is a function that is passed as an argument to another function and is execut ...
- 理解JS回调函数
我们经常会用到客户端与Web项目结合开发的需求,那么这样就会涉及到在客户端执行前台动态脚本函数,也就是函数回调,本文举例来说明回调函数的过程. 首先创建了一个Web项目,很简单的一个页面,只有一个bu ...
- 理解 JS 回调函数中的 this
任何变量或对象都有其赖以生存的上下文.如果简单地将对象理解为一段代码,那么对象处在不同的上下文,这段代码也会执行出不同的结果. 例如,我们定义一个函数 getUrl 和一个对象 pseudoWindo ...
- js回调函数(callback)理解
Mark! js学习 不喜欢js,但是喜欢jquery,不解释. 自学jquery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速google之,发现原来中文翻译成回调.也就是回调函 ...
- 【转】JS回调函数--简单易懂有实例
JS回调函数--简单易懂有实例 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function that is ...
- js回调函数的理解
js回调函数(callback)理解 Mark! 讲之前说一句 function say(){ alert(,,,,,,,,) } var say=function (){ alert(,,,,,,, ...
- JS回调函数--简单易懂有实例
版权声明:本文为博主原创文章,转载请注明出处 初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数. 我们先来看看回调的英文定义:A callback is a function t ...
- js 回调函数理解与应用
定义:在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A.我们就说函数A叫做回调函数.如果没有名称(函数表达式),就叫做匿名回调函 ...
- JS回调函数全解析教程
转自:http://blog.csdn.net/lulei9876/article/details/8494337 自学jQuery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速g ...
随机推荐
- Nginx---系统学习
**********************************************前言************************************ =============== ...
- Shiro学习(20)无状态Web应用集成
在一些环境中,可能需要把Web应用做成无状态的,即服务器端无状态,就是说服务器端不会存储像会话这种东西,而是每次请求时带上相应的用户名进行登录.如一些REST风格的API,如果不使用OAuth2协议, ...
- 使用HBuilder编辑器进行真机调试运行时提示Waiting for debugger!
在使用HBuilder编辑器创建mui项目进行真机调试的时候,手机总是提示Waiting for debugger! 现在终于找到了解决办法: 手机 设置 -> 开发人员选项 -> USB ...
- TFS 中如何将项目加入已有的源代码管理器中?
Visual Studio 的某解决方案已经加入 Team Foundation Server,现在再将已经存在的项目加入到解决方案中,可是签入时,并没有把新加入的项目签入,怎么办呢? 在团队资源管理 ...
- Java进程Runtime、Process、ProcessBuilder调用外部程序
原文地址:https://blog.csdn.net/c315838651/article/details/72085739 通过Java执行系统命令,与cmd中或者终端上一样执行shell命令,最典 ...
- 自己写Linux module来收集buddy info
1 编写代码pslist.c 1: #include<linux/init.h> 2: #include<linux/module.h> 3: #include<linu ...
- PAT_A1038#Recover the Smallest Number
Source: PAT A1038 Recover the Smallest Number (30 分) Description: Given a collection of number segme ...
- <人工智能>人工智能基础
问题1:扔下圆球的位置(feature特征变量)变化,最终掉落奖项(label结果标签)的变化 feature ----输入 f(x) ----模型,算法 label ----输出 大量已知的数据,训 ...
- c# mvc 简洁大气官网
后台管理 https://g.alicdn.com/idleFish-F2e/app-basic/item.html?itemid=580281597427&ut_sk=1.WCB2zfWM% ...
- Center OS 7 Apache安装配置
感谢:https://blog.csdn.net/u014157384/article/details/79497761 该作者的帮助. 自己购买了国外的服务器,想把我的网页放到服务器,网页是以web ...