JavaScript任务
来源:互联网 发布:网络电子设备数据处理 编辑:程序博客网 时间:2024/05/16 06:25
简介:
JavaScript是单线程的,其中分为三个任务:渲染任务、JavaScript代码执行任务、事件处理任务。JavaScript代码执行顺序,先把主任务(代码任务)执行完毕,再去执行次要任务(包括setTimeOut和setInterval中的回调函数中代码。
setTimeOut函数,至少在指定时间后执行回调函数,因为要等主任务中的代码执行完毕之后,才回去检查有没有到执行时间。
错误写法:
// setTimeOut中的function直到所有代码执行完毕之后才会执行,所以打印出来的i变量都是10// for(var i=0;i<10;i++){// setTimeout(function () {// console.log(i);//10// },0);// }
正确写法:
// 利用闭包函数解决以上问题的方式 for(var i=0;i<10;i++){ function foo(j) { return function () { console.log(j); } } var f = foo(i); setTimeout(f,0); } // 利用立即执行表达式函数与闭包解决 for(var i=0;i<10;i++){ setTimeout((function (j) { return function () { console.log(j); } })(i),0); }
//IIFE:立即执行表达式 imediately invoked function expression (function () { console.log("自调用函数"); }()); +function () { console.log("自调用函数"); }(); -function () { console.log("自调用函数"); }();
阅读全文
1 0
- JavaScript任务
- JavaScript中分解任务
- JavaScript定时任务
- JavaScript 中的正常任务与微任务
- 用Ext编排JavaScript任务
- javascript定时任务执行脚本
- Phing任务:用Phing的JsMin任务为Javascript瘦身
- JavaScript单线程之同步任务与异步任务
- 用Javascript实现Windows任务管理器
- JavaScript 学习笔记十 练习任务系统
- 用Javascript实现Windows任务管理器
- javaScript Core -- 运行机制:单线程&&任务队列
- JavaScript 实现延迟合并处理任务
- javascript线程,任务队列和事件循环
- 用来简化开发任务的20个JavaScript类库
- 用来简化开发任务的20个JavaScript类库
- 用来简化开发任务的20个JavaScript类库
- 用来简化开发任务的20个JavaScript类库
- Iptables 规则 一些简单实例和详细介绍
- 为什么你应该学习编程?
- Portainer —— Docker GUI 管理工具
- 设计模式综合项目实战
- Spring所含JAR说明
- JavaScript任务
- vector 类型转换为数组类型
- Nginx不能打开
- Android VpnService小结
- Freemaker项目使用笔记
- 面试OR笔试15——第k元素
- 单片机编程语言的比较
- Android -final关键字的理解
- 第七场训练赛总结