几个例子弄懂JS 的setTimeout的运行方式
来源:互联网 发布:google drive mac 编辑:程序博客网 时间:2024/06/03 16:37
<span style="font-size:18px;">例子:1</span>
function test() { var a = 1; setTimeout(function() { alert(a); a = 5; }, 1000);}test();alert(0);//前面的两个setTimeout延迟了 所以先执行这个结果:先弹出0,然后弹出1.
例子2
function test() { var a = 1; setTimeout(function() { alert(a); a = 5; }, 1000); alert(a);}test();alert(0);
结果:先弹出1,然后弹出0,最后弹出1 。
先执行test()里的alert(),因为function此时还未执行,因此,a任然为1.因为function还在被延迟着,因此,执行了alert(0),最后到时间了,执行了alert(a),因为前面a已经变为1了,所以,最后弹出的是1.
例子:3:
function test() { var a = 1; setTimeout(function() { alert(a); a = 5; }, 1000); a = 19;}test();alert(0);//前面的alert因为setTimeout延迟了 所以先执行这个。结果:会先弹出0,然后弹出19.
延迟了function() {
alert(a);
a = 5;
}
但是a=19还是会照常执行,不是等到延迟结束。所以,执行这个被延迟函数的时候,a=19了!
例子4
function test() { var a = 1; setTimeout(function() { alert(a); a = 5; }, 1000); a = 19;setTimeout(function() { alert(a); a = 4; }, 3000);}test();alert(0);//前面的两个setTimeout延迟了 所以先执行这个
结果:会先弹出0,然后弹出19,最后弹出5.
附加解释下全局变量和局部变量!
全局变量:在函数之外定义,或在函数内赋值但前面没加 var 关键字的,都是全局变量
局部变量:定义在函数之内,且前面有 var 关键字的变量
0 0
- 几个例子弄懂JS 的setTimeout的运行方式
- JS 的setTimeout的运行方式
- JS setTimeout 的例子
- 要弄懂的几个概念
- js 要弄懂的东西
- JS setTimeout 和 setInterval 的区别小例子
- 初学Spring必须弄懂的几个知识点
- js 的settimeout
- 深入理解js的几个小例子
- jquery和js的几个简单例子
- js实现继承的6种方式 寄生继承没弄懂
- JS定时运行 setTimeout()
- js 中 setTimeout()的用法
- js 中 setTimeout()的用法
- js setTimeout opener 的用法
- js中setTimeout()的用法
- js 中 setTimeout()的用法
- js 中 setTimeout()的用法
- 求全排列
- Redis入门篇
- 使用navicat 备份和还原数据库
- poj2823 Sliding Window
- Roman to Integer 罗马数字转为整数
- 几个例子弄懂JS 的setTimeout的运行方式
- L - Colourful Rectangle(面积并加强版)
- [SDK Manager] 拒绝访问 并且无法下载更新
- java中的集合(Collection)
- ural1003
- Action、Category、Data、Extras知识详解
- 排序算法学习笔记
- hdu 1240 Asteroids!(BFS)
- Java 循环嵌套问题