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 addBookmark 加入收藏 多浏览器兼容
Aug 15 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
Dec 30 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
Oct 03 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
May 15 Javascript
Javascript调用函数方法的几种方式介绍
Mar 20 Javascript
简单谈谈node.js 版本控制 nvm和 n
Oct 15 Javascript
jQuery获取及设置表单input各种类型值的方法小结
May 24 Javascript
JavaScript Ajax编程 应用篇
Jul 02 Javascript
关于Node.js的events.EventEmitter用法介绍
Apr 01 Javascript
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
详解VUE 数组更新
Dec 16 Javascript
基于vue开发的在线付费课程应用过程
Jan 25 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
C# Assembly类访问程序集信息
2009/06/13 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
[47:22]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
Python Web服务器Tornado使用小结
2014/05/06 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
Python File(文件) 方法整理
2019/02/18 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
Python学习之time模块的基本使用
2021/01/17 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
2021/01/18 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
技术总监岗位职责
2013/12/05 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
银行求职信
2014/05/31 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
评职称个人总结
2015/03/05 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
pycharm代码删除恢复的方法
2021/06/26 Python