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 相关文章推荐
Javascript对象属性方法汇总
Nov 21 Javascript
jQuery toggleClass应用实例(附效果图)
Apr 06 Javascript
浅谈页面装载js及性能分析方法
Dec 09 Javascript
JavaScript合并两个数组并去除重复项的方法
Jun 13 Javascript
JS判断是否手机或pad访问实现方法
Dec 09 Javascript
BootStrap表单宽度设置方法
Mar 10 Javascript
Node.js编写CLI的实例详解
May 17 Javascript
JavaScript实现各种排序的代码详解
Aug 28 Javascript
js实现烟花特效
Mar 02 Javascript
ES2020 已定稿,真实场景案例分析
May 25 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
Oct 22 Javascript
Python机器学习之决策树和随机森林
Jul 15 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
第二节 对象模型 [2]
2006/10/09 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
jquery插件制作 图片走廊 gallery
2012/08/17 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
JSON的parse()方法介绍
2019/01/31 Javascript
js实现消灭星星(web简易版)
2020/03/24 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
python黑魔法之参数传递
2016/02/12 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
python归并排序算法过程实例讲解
2020/11/04 Python
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
什么是SCM(软件配置管理)
2014/08/16 面试题
2014年初中班主任工作总结
2014/11/08 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL