如何观察JS的事件队列的执行划分
2016-09-23 15:19
330 查看
也就是说,不同的操作函数,操作符,JS将其放入事件队列是不一样的。。。
比如:
外部函数和内部函数,就是分两次放入事件循环的尾端的。
比如,多个操作符组成的链式操作,也有可能是放不同的操作批次进入事件循环链的。
因为下面代码中的输出就显示了异步事件循环在JS当中的体现。
好好体味了一个小时。
输出:
比如:
外部函数和内部函数,就是分两次放入事件循环的尾端的。
比如,多个操作符组成的链式操作,也有可能是放不同的操作批次进入事件循环链的。
因为下面代码中的输出就显示了异步事件循环在JS当中的体现。
好好体味了一个小时。
var test = function() { for(var i = 0; i < 5; i++) { console.log(i+ " test outter"); (function(i) { setTimeout(function() { console.log(i); }, 2000); })(i); } }; var test2 = function() { var ret = []; for(var i = 0; i < 5; i++) { console.log(i+ " test2 outter"); (function(i) { ret[i] = function() { console.log(i + " test2 inner"); return i; } })(i); } console.log(ret); return ret; }; var test0 = test(), test1 = test2()[2](); var test2 = test2()[2](), test3 = test();
输出:
"0 test outter" "1 test outter" "2 test outter" "3 test outter" "4 test outter" "0 test2 outter" "1 test2 outter" "2 test2 outter" "3 test2 outter" "4 test2 outter" [function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }, function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }, function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }, function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }, function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }] "2 test2 inner" "0 test2 outter" "1 test2 outter" "2 test2 outter" "3 test2 outter" "4 test2 outter" [function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }, function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }, function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }, function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }, function () { window.runnerWindow.proxyConsole.log(i + " test2 inner"); return i; }] "2 test2 inner" "0 test outter" "1 test outter" "2 test outter" "3 test outter" "4 test outter" 0 1 2 3 4 0 1 2 3 4
相关文章推荐
- [error handle][java script]如何做到js绑定事件的同时不执行事件
- 如何做到js绑定事件的同时不执行事件
- 如何设定回车时执行哪个按钮的事件?
- asp.net中,如何给按钮增加JS事件
- fox,ie 如何保证js执行顺序
- 服务器控件先执行js再执行事件
- js中如何注册事件
- 如何在net中实现动态执行代码(js的eval)的功能?
- 如何调整jQuery中的事件队列
- 在性能测试时,如何观察服务器端Oracle在执行的Sql语句【监控】
- 在性能测试时,如何观察服务器端Oracle在执行的Sql语句
- 服务器按钮如何通过js验证再触发提交事件?
- Select中使用js动态修改了Option时如何触发onchange事件
- 用js脚本如何动态添加带参数的事件
- IE窗口关闭时如何提交JS事件???
- 动态加载JS文件,完美解决跨域、编码、嵌套、队列、兼容性、执行顺序等相关问题。
- 在html链接里执行js和使用标签事件执行的不同
- asp.net中,如何给按钮增加JS事件
- MSCRM4.0如何使js事件在批量编辑表单中触发
- 如何快速中断js事件(可能不是全部)