




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 教师:XXX QQ:XXXXXXX 邮箱:XXXXXXX Node.js开发(教学培训课件) 教师:XXXNode.js开发(教学培训课件)主要内容回调函数认识回调函数的定义回调函数使用注意事项(教学培训课件)(教学培训课件)主要内容(教学培训课件)(教学培训课件)回调函数认识在很久很久以前,有一个人。var person;他是个人,也就是一个对象。person= ; / 在JavaScript中,花括号就代表是一个对象他有个名字叫小明。 = 小明;看一下是不是真的叫小明。alert();嗯,有一天,小明捡到了10块钱。person.money = 10块钱;(教学培训课件)回调函数认识在很
2、久很久以前,有一个人。(教学培训课件)回调函数认识有了钱就要花,于是他打算把10块钱用掉小明有一个花钱的方法 spendMoney ()spendMoney =function() alert( +用 +this.money + 块钱买了漫画书!); 运行:person.spendMoney();/弹出提示:小明用10块钱买了漫画书。好了,问题来了,小明花钱就非得买漫画书吗,肯定不是。事实情况应该是,这钱怎么办,还是由他自己说了算。因为钱在小明的口袋里所以,就可以用回调函数了。(教学培训课件)回调函数认识有了钱就要花,于是他打算把10块钱用掉(教学培训回调函数认识有了钱就要花,于是他打算把10
3、块钱用掉小明有一个花钱的方法 spendMoney ()spendMoney =function() alert( +用 +this.money + 块钱买了漫画书!); 运行:person.spendMoney();/弹出提示:小明用10块钱买了漫画书。好了,问题来了,小明花钱就非得买漫画书吗,肯定不是。事实情况应该是,这钱怎么办,还是由他自己说了算。因为钱在小明的口袋里所以,就可以用回调函数了。(教学培训课件)回调函数认识有了钱就要花,于是他打算把10块钱用掉(教学培训回调函数认识回调函数本身就是一个数据类型在javaScript中,函数的地位和java中的String,int,boole
4、an等等都是一样的,都可以看成是一个数据类型。既然是数据类型,当然可以当成参数传递。于是就应该这样:person.spendMoney =function(doSomeThing) doSomeThing(); 打了个括号就是执行函数的意思;没打括号的函数,就是和String,int一样的玩意儿。是一个数据类型(教学培训课件)回调函数认识回调函数本身就是一个数据类型(教学培训课件)回调函数认识在JavaScript中,函数也是一样的。var say =function() alert(HelloWorld);这时候的say就是一个数据类型。因为没有打括号,打了括号他才会执行!小明用十块钱做什么
5、,他自己说了算。person.spendMoney(function();这样就是把函数传进去了。把函数传入spendMoney方法的目的就是让函数在里面执行的。所以:person.spendMoney =function(doSomeThing) doSomeThing(); 回调函数认识在JavaScript中,函数也是一样的。回调函数认识里面就打了括号,代表要执行这个函数。具体做什么,自己决定。person.spendMoney(function() alert(还是把钱存起来吧!); );总结:将函数作为一个参数,传入一个方法内,并且能够在该方法中执行这个函数,这也就是js特有的回调函
6、数的魔力。回调函数认识里面就打了括号,代表要执行这个函数。回调函数认识回调函数的概念:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。回调函数认识回调函数的概念:回调函数认识回调函数的机制:定义一个回调函数;提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。(教学培训课件)回调函数认识回
7、调函数的机制:(教学培训课件)回调函数定义命名回调函数的定义/定义主函数function addSqua(num1, num2, callback) var sum = num1 + num2; return callback(sum);/定义回调函数function squa(num) return num*num;/执行回调函数let num = addSqua(1, 2, squa); console.log(num);(教学培训课件)回调函数定义命名回调函数的定义/执行回调函数(教学培训课件回调函数定义匿名回调函数的定义将匿名函数直接作为函数参数传递给函数, 这也是我们编程一般采用的f
8、unction addSqua(num1, num2, callback) var sum = num1 + num2; return callback(sum);let num = addSqua(1, 2, function(num) return num*num;); console.log(num);回调函数定义匿名回调函数的定义回调函数定义典型的匿名回调函数定义将匿名函数直接作为函数参数传递给函数, 这也是我们编程一般采用的var friends = Mike, Stacy, Andy, Rick;friends.forEach(function (eachName, index)
9、console.log(index + 1 + . + eachName););输出结果如下1. Mike2. Stacy3. Andy4. Rick在jQuery中广泛被使用回调函数定义典型的匿名回调函数定义在jQuery中广泛被使用回调函数定义回调函数模仿数组中的every方法在Atotype中添加类似与every一样的方法Atotype.myEvery = function (callback) if (callback&typeof callback= function) for (let i = 0; i this.length; i+) if (callback(thisi) re
10、turn false; return true; return true;let op = 3, 6, every, 9,each;op.myEvery(function (value) console.log(value);)/判定callback存在,并且是函数类型回调函数定义回调函数模仿数组中的every方法/判定cal回调函数调用注意事项1.回调函数中参数传递function Show(callback) console.log(这是主函数); var name =我正在学习回调函数; if(callback&(typeof(callback)=function) callback(n
11、ame); console.log(我已经使用完回调函数);function callShow(value) console.log(value);Show(callShow(this is me);(教学培训课件)回调函数调用注意事项1.回调函数中参数传递(教学培训课件)回调函数调用注意事项2. 使用this对象的方法作为回调函数时的问题/定义一个有一些属性和一个方法的对象 ,接着将会把方法作为回调函数传递给另一个函数var clientData = id: 094545, fullName:Not Set, /setUsrName是一个在clientData对象中的方法 setUserNa
12、me: fucntion (firstName, lastName) /这指向了对象中的fullName属性 this.fullName = firstName + + lastName; function getUserInput(firstName, lastName, callback) /在这做些什么来确认firstName/lastName /现在存储names callback(firstName, lastName);当回调函数是一个this对象的方法时,我们必须改变执行回调函数的方法来保证this对象的上下文。否则如果回调函数被传递给一个全局函数,this对象要么指向全局win
13、dow对象(在浏览器中)。要么指向包含方法的对象。回调函数调用注意事项2. 使用this对象的方法作为回调函数回调函数调用注意事项3. 使用Call和Apply函数来保存this/注意到我们增加了新的参数作为回调对象,叫做“callbackObj”function getUserInput(firstName, lastName, callback. callbackObj) /在这里做些什么来确认名字 callback.apply(callbackObj, firstName, lastName);call接收的第一个参数为被用来在函数内部当做this的对象,传递给函数的参数被挨个传递(当然
14、使用逗号分开)。Apply函数的第一个参数也是在函数内部作为this的对象,然而最后一个参数确是传递给函数的值的数组。回调函数调用注意事项3. 使用Call和Apply函数来保存回调函数调用注意事项4. 允许多重回调函数function successCallback() function successCallback() function completeCallback()function errorCallback()$.ajax( url:/favicon.png, success:successCallback, complete:completeCallback, error:errorCallback);可以将不止一个的回调函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件销售管理述职报告
- 远洋运输相关知识
- 人教辽宁 九年级 下册 语文 第一单元《 海燕》习题课 课件
- 计算机基础实践与创新课件 第2章 计算机系统的基本组成和基 本工作原理
- 人教陕西 九年级 下册 语文 第三单元《 送东阳马生序》习题课课件
- 三年级数学北师大版上册第六单元《6.1蚂蚁做操》教学设计教案1
- 加盟 续签合同范本
- 一楼带院签合同范例
- 出书协议合同范例
- 全款购现房合同范例
- 工程机械租赁服务方案及保障措施
- 新产程观察和护理课件
- 《高低压配电室施工工艺标准》
- 2024年12月英语四级真题及参考答案
- 《胆石症讲》课件
- 京东方在线测评题库
- 高一 人教版必修二 英语 第三单元《Lesson 2 Reading and Thinking (1) 》课件
- 全国计算机等级考试(NCRE) 计算机一级(MS Office)考前必背题库(含答案)
- 提高痰标本留取成功率 呼吸科QCC成果汇报品管圈护理课件
- 职业生涯规划企业访谈
- 物业员工安全知识教育培训
评论
0/150
提交评论