本文实例讲述了JS回调函数。分享给大家供大家参考,具体如下:

初学js的时候,被回调函数搞得很晕,现在回过头来总结一下什么是回调函数。什么是JS?(点击查看)

下面先看看标准的解释:

function SortNumber( obj, func ) // 定义通用排序函数

{

// 参数验证,如果第一个参数不是数组或第二个参数不是函数则抛出异常

if( !(obj instanceof Array) || !(func instanceof Function))

{

var e = new Error(); // 生成错误信息

e.number = 100000; // 定义错误号

e.message = "参数无效"; // 错误描述

throw e; // 抛出异常

}

for( n in obj ) // 开始排序

{

for( m in obj )

{

if( func( obj[n], obj[m] ) ) // 使用回调函数排序,规则由用户设定

{

var tmp = obj[n]; // 创建临时变量

obj[n] = obj[m]; // 交换数据

obj[m] = tmp;

}

}

}

return obj; // 返回排序后的数组

}

我们先来看看回调的英文定义:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed。

字面上的理解,回调函数就是传递一个参数化的函数,就是将这个函数作为一个参数传到另一个主函数里面,当那一个主函数执行完之后,再执行传进去的作为参数的函数。走这个过程的参数化的函数 就叫做回调函数。换个说法也就是被作为参数传递到另一个函数(主函数)的那个函数就叫做 回调函数。

举一个别人举过的例子:约会结束后你送你女朋友回家,离别时,你肯定会说:“到家了给我发条信息,我很担心你。” 对不,然后你女朋友回家以后还真给你发了条信息。小伙子,你有戏了。其实这就是一个回调的过程。你留了个参数函数(要求女朋友给你发条信息)给你女朋友,然后你女朋友回家,回家的动作是主函数。她必须先回到家以后,主函数执行完了,再执行传进去的函数,然后你就收到一条信息了。

回调函数应用场景多用在使用 js 写组件时和耗时操作上面,尤其是组件的事件很多都需要回调函数的支持。

如果还是不明白,下面看一下代码:

function title(value){//这是回调函数!!!!

alert(value);

}

function main(title, value){//这个主函数:在参数列表中,title作为一个参数传递进来,也就是上文说的 参数化函数;然后value这个值正是title()函数中所需要的。

alert("我是主函数");

title(value);//结果为:'我是回调函数'。——————然后在这行这个title(),它就是回调函数咯。

}

main(title,"我是回调函数");//title参数加上()后,就会变回一个函数,并会被执行一次。

//PS:看清楚,调用的是main()函数,意味着先执行main(),这时已经执行了主函数,title()被main()在函数体中执行了一次,因此title()是回调函数。

回调函数易混淆点——传参:

一,将回调函数的参数作为与回调函数同等级的参数进行传递。

二,回调函数的参数在调用回调函数内部创建。

希望本文所述对大家JavaScript程序设计有所帮助。

android js 回调函数,JS回调函数简单易懂的入门实例分析相关推荐

  1. 基于android studio开发多人电话语音视频会议入门实例demo含app下载链接

    目录 说明 视频演示 图文演示 android版本支持 相关下载 说明 这是一个相对完整的客户端+服务器端的项目,适合入门学习研究.包含android摄像头.麦克风使用权限的动态申请,控件的事件绑定, ...

  2. mmap函数的用法详解及实例分析

    1.mmap函数是一个比较神奇的函数,它可以把文件映射到进程的虚拟内存空间.通过对这段内存的读取和修改,可以实现对文件的读取和修改,而不需要用read和write函数.如下图所示,为mmap实现原理的 ...

  3. select函数用法详解,及实例分析

    select函数是系统调用函数,用于多路监控.当没有一个文件满足要求时,select将阻塞调用进程.在有些情况下,采用select函数可以大大简化程序结构.比如一个系统有10个输入设备,如果想实时读取 ...

  4. Android 8.1 Audio框架(二)AudioPolicy路由策略实例分析

    概述 这里以蓝牙耳机连接手机这一场景为例分析Audio路由策略是如何进行设备切换和管理输出的.蓝牙耳机连接上Android系统后,AudioService的handleDeviceConnection ...

  5. android application 全局变量 空指针,Android编程之Application设置全局变量及传值用法实例分析...

    本文实例讲述了Android编程之Application设置全局变量及传值用法.分享给大家供大家参考,具体如下: /** * 重写Application,主要重写里面的onCreate方法,就是创建的 ...

  6. 【cocos2d-x从c++到js】12:回调函数1——按键回调

    回调函数是界面交互和接入各种第三方SDK的关键所在,因为回调函数的C++代码是不能自动生成的,一切的一切,都需要手写完成. 比较不错的是,Cocos2d-x引擎对于回调函数提供了完整的包装机制.我们所 ...

  7. JS闭包函数和回调函数

    一.闭包 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现.闭包就是能够读取其他函数内部变量的函数.可以把闭包简单理解成"定义在一个函数 ...

  8. 关于js的回调函数,同步回调与异步回调

    回调定义 刚开始学习javascript时,对回调函数的理解仅仅停留在知道定义阶段.什么是回调函数? 就是将一个函数作为参数传递给另一个函数,作为参数的这个函数就是回调函数. 至于为什么要用到回调函数 ...

  9. promise和回调函数 js

    promise和回调函数 js 一. 过去使用回调函数嵌套,会进入回调函数地狱,不利于开发人员维护,如下代码是回调嵌套: //这就是所谓的回调嵌套,testOne执行完之后在他的回调函数中执行test ...

  10. java调用js匿名函数参数,js中匿名函数和回调函数

    匿名函数: 通过这种方式定义的函数:(没有名字的函数) 作用:当它不被赋值给变量单独使用的时候 1.将匿名函数作为参数传递给其他函数 2.定义某个匿名函数来执行某些一次性任务 var f = func ...

最新文章

  1. oracle 求A中不存在于B的记录
  2. iOS下拉tableView实现上面的图片放大效果
  3. 人工智能的发展历史是怎样的?
  4. 整数行hdu 1244 Max Sum Plus Plus Plus(dp)
  5. 一些很酷的.Net技
  6. selenium.common.exceptions.SessionNotCreatedException
  7. 目前电子计算机已经发展到,目前电子计算机已经发展到什么计算机?
  8. QT界面布局、系统信号和槽、启动进程、EDIT回车快捷键、正常信号和槽、QMessageBox、UIC使用(界面重新生成)
  9. 555定时器的频率检测
  10. mysql5.6 慢查询_MySQL5.6 如何优化慢查询的SQL语句
  11. Tensorflow学习笔记1----基础分类模型
  12. mongodb 分组聚合_MongoDB学习笔记整理,赶紧收藏起来吧
  13. 反编译apk,修改登录成功
  14. Java 类加载器 详解
  15. AutoCAD Civil 3D 中缓和曲线的定义
  16. PHP 下载文件的方法(指定路径)
  17. DC-DC buck降压电路 电压电流双闭环PI控制matlab仿真模型
  18. 深井泵房无人值守系统 泵站无人值守平台 智慧水务
  19. 深度学习——Dual Regression Networks for Single Image Super-Resolution(DRN)
  20. 浏览器打开html不加载css样式,ie怎么加载不了css样式?

热门文章

  1. json的格式是什么?
  2. 清理 Chrome DNS Cache
  3. MATLAB导入数据
  4. 多级指针—为快捷方式创建快捷方式
  5. ABP文档笔记 - 通知
  6. Switch使用方法
  7. 线性代数01:函数对向量、矩阵的梯度(向量、矩阵求导)
  8. java复制行_Java 复制Word表格中的行或列
  9. NOI2014 起床困难综合症
  10. wps表格错开半行_word表格错开半行-Excel 表格上下怎么错位!