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 相关文章推荐
原生js写的放大镜效果
Aug 22 Javascript
jQuery实现带有洗牌效果的动画分页实例
Aug 31 Javascript
谈谈JavaScript自定义回调函数
Oct 18 Javascript
基于jQuery实现网页打印功能
Dec 01 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
Jan 26 Javascript
JavaScript代码生成PDF文件的方法
Feb 26 Javascript
浅谈JS继承_借用构造函数 & 组合式继承
Aug 16 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
Dec 14 Javascript
AngularJS $http模块POST请求实现
Apr 08 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
关于TypeScript中import JSON的正确姿势详解
Jul 25 Javascript
写gulp遇到的ES6问题详解
Dec 03 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 函数语法介绍一
2009/06/14 PHP
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
php中Smarty模板初体验
2011/08/08 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
JS 面向对象之神奇的prototype
2011/02/26 Javascript
js中将具有数字属性名的对象转换为数组
2011/03/06 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
AngularJS中的缓存使用
2017/01/11 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
Python的装饰器用法学习笔记
2016/06/24 Python
django 微信网页授权登陆的实现
2019/07/30 Python
pycharm显示远程图片的实现
2019/11/04 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
python中round函数如何使用
2020/06/19 Python
想学画画?python满足你!
2020/12/24 Python
夜大毕业生自我鉴定
2013/10/31 职场文书
精细化工应届生求职信
2013/11/17 职场文书
高中校园广播稿
2014/01/11 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
个人综合鉴定材料
2014/05/23 职场文书
工程项目经理任命书
2014/06/05 职场文书
关于环保的宣传稿
2015/07/23 职场文书
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python