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 相关文章推荐
15 个 JavaScript Web UI 库
May 19 Javascript
js 获取浏览器版本以此来调整CSS的样式
Jun 03 Javascript
在Linux上用forever实现Node.js项目自启动
Jul 09 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
Oct 12 Javascript
jQuery ztree实现动态树形多选菜单
Aug 12 Javascript
JS排序之选择排序详解
Apr 08 Javascript
vue调用高德地图实例代码
Apr 28 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
Sep 06 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
May 08 Javascript
微信小程序 确认框的实现(附代码)
Jul 23 Javascript
Vue实现购物车详情页面的方法
Aug 20 Javascript
javascript canvas实现简易时钟例子
Sep 05 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在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
九年级体育教学反思
2014/01/23 职场文书
20年同学聚会感言
2014/02/03 职场文书
信息专业毕业生五年职业规划参考
2014/02/06 职场文书
六一节目主持词
2014/04/01 职场文书
化妆品活动策划方案
2014/05/23 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
中学教师教学工作总结
2015/08/13 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers
Win11更新失败并提示0xc1900101
2022/04/19 数码科技
Java对文件的读写操作方法
2022/04/29 Java/Android