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代码
Dec 26 Javascript
jquery获取元素值的方法(常见的表单元素)
Nov 15 Javascript
js 去除字符串第一位逗号的方法
Jun 07 Javascript
JavaScript实现Java中StringBuffer的方法
Feb 09 Javascript
JavaScript 中对象的深拷贝
Dec 04 Javascript
JavaScript字符集编码与解码详谈
Feb 02 Javascript
webpack搭建vue 项目的步骤
Dec 27 Javascript
在vscode里使用.vue代码模板的方法
Apr 28 Javascript
React 使用Hooks简化受控组件的状态绑定
Mar 18 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
Jun 22 Javascript
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
Mar 17 Javascript
MutationObserver在页面水印实现起到的作用详解
Jul 07 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
windows7下php开发环境搭建图文教程
2015/01/06 PHP
php获取访问者IP地址汇总
2015/04/24 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
php封装的page分页类完整实例
2016/10/18 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
JQuery 风格的HTML文本转义
2009/07/01 Javascript
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
js 走马灯简单实例
2013/11/21 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
Python库urllib与urllib2主要区别分析
2014/07/13 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
JDO的含义
2012/11/17 面试题
土木工程专业个人求职信
2013/12/05 职场文书
取保候审保证书
2014/04/30 职场文书
毕业设计论文评语
2014/12/31 职场文书
个人政治思想总结
2015/03/05 职场文书
合同审查法律意见书
2015/06/04 职场文书
护士医德医风心得体会
2016/01/25 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA