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 相关文章推荐
Array的push与unshift方法性能比较分析
Mar 05 Javascript
JQuery中$之选择器用法介绍
Apr 05 Javascript
Js获取数组最大和最小值示例代码
Oct 29 Javascript
js类式继承的具体实现方法
Dec 31 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 Javascript
总结JavaScript的正则与其他语言的不同之处
Aug 25 Javascript
JS常用函数和常用技巧小结
Oct 15 Javascript
vue.js实现表格合并示例代码
Nov 30 Javascript
使用veloticy-ui生成文字动画效果
Feb 08 Javascript
JavaScript创建对象方法实例小结
Sep 03 Javascript
koa中间件核心(koa-compose)源码解读分析
Jun 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
PHP生成月历代码
2007/06/14 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
js 绑定带参数的事件以及手动触发事件
2010/04/27 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
Python实现的一个简单LRU cache
2014/09/26 Python
python编写分类决策树的代码
2017/12/21 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
python 实现多维数组转向量
2019/11/30 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
Python os模块常用方法和属性总结
2020/02/20 Python
Pycharm无法打开双击没反应的问题及解决方案
2020/08/17 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
一年级家长会邀请函
2014/01/25 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
筑梦中国心得体会
2016/01/18 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js