js 异步操作回调函数如何控制执行顺序


Posted in Javascript onDecember 24, 2013

需求:
fun A() { asyn(parm1, parm2, onsuccess(){ }) ;}
fun B() {asyn(paem1, parm2, onsuccess(){}) ;}

函数B要求执行在函数A之后

异步执行
如果直接使用
A();
B();

是不能够满足执行条件的。

考虑将B作为回调函数传递给A,然后A再执行的onsucess中执行B函数
A(B);

即可实现功能需求。

js是单线程的.

1、调用函数时,如果参数多于定义时的个数,则多余的参数将会被忽略,如果少于定义时的个数则缺失的参数数会被自动赋予undefined值。
2、如果是用function语句声明的函数定义则不可以出现在循环或条件语句中,但是如果是用函数直接量方法的函数定义则可以出现在任何js表达式中。
3、arguments对象
函数的arguments对象就像一个数组,里面保存着函数调用时的实际参数,可以用arguments[0]、arguments[1]、arguments[2]…等来引用这些参数,即使这些参数在定义函数时是没有的。但arguments并非真正的数组对象。
function a(x,y){
arguments[0] //表示第一个参数x
arguments[1] //表示第一个参数y
arguments[2] //表示第三个参数,前提是在调用函数时传入了三个参数

arguments.length //表示实际传入参数的个数
arguments.callee(x,y) //调用自身 }
arguments对象具有length属性,表示的是函数调用时实际传入的参数的个数。
arguments对象还具有callee属性,用来引用当前正在执行的函数,这个在匿名函数中尤其有用。
4、函数的length属性(没错,函数也是具有length属性的)
与arguments.length不同,函数的length属性表示的是在定义函数时的形参个数,而不是函数调用时的实际参数个数。可以用arguments.callee.length来调用函数的length属性。

Javascript 相关文章推荐
在线游戏大家来找茬II
Sep 30 Javascript
yepnope.js 异步加载资源文件
Sep 08 Javascript
在新窗口打开超链接的方法小结
Apr 14 Javascript
JavaScript采用递归算法计算阶乘实例
Aug 04 Javascript
有关Promises异步问题详解
Nov 13 Javascript
Bootstrap前端开发案例一
Jun 17 Javascript
利用Angularjs和Bootstrap前端开发案例实战
Aug 27 Javascript
利用BootStrap弹出二级对话框的简单实现方法
Sep 21 Javascript
完美的js图片轮换效果
Feb 05 Javascript
JSON创建键值对(key是中文或者数字)方式详解
Aug 24 Javascript
Vue+Django项目部署详解
May 30 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
Nov 26 Javascript
表格奇偶行设置不同颜色的核心JS代码
Dec 24 #Javascript
js中function()使用方法
Dec 24 #Javascript
document节点对象的获取方式示例介绍
Dec 24 #Javascript
JQuery结合CSS操作打印样式的方法
Dec 24 #Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
Dec 24 #Javascript
jquery自动切换tabs选项卡的具体实现
Dec 24 #Javascript
从数组中随机取x条不重复数据的JS代码
Dec 24 #Javascript
You might like
PHP中的日期处理方法集锦
2007/01/02 PHP
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
joomla数据库操作示例代码
2016/01/06 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
javascript学习网址备忘
2007/05/29 Javascript
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
Python全局变量用法实例分析
2016/07/19 Python
Python内置函数OCT详解
2016/11/09 Python
Python切图九宫格的实现方法
2019/10/10 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
python标准库os库的函数介绍
2020/02/12 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
学生会干部自荐信
2014/02/04 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
Python操作CSV格式文件的方法大全
2021/07/15 Python