javascript中巧用“闭包”实现程序的暂停执行功能
作者:
javascript中巧用“闭包”实现程序的暂停执行功能
Author:月影
Form:http://bbs.51js.com/thread-66361-1-1.html
<input type="button" value="继续" onclick='st();'/>
<script>
/*基本原理*/
var st = (function(){
alert(1);
alert(2);
return function()
{
alert(3);
alert(4);
}
})();
</script>
<input type="button" value="继续" onclick='st();'/>
<script>
/*函数*/
function test(x)
{
alert(x++);
alert(x++);
return function()
{
alert(x++);
alert(x++);
}
}
var st = test(10);
</script>
<input type="button" value="继续" onclick='st();'/>
<script>
/*函数嵌套*/
function a(x,y)
{
var st2 = b(x+y);
return function()
{
st2 = st2();
alert(st2);
}
}
function b(a)
{
alert(a++);
alert(a++);
return function()
{
alert(a++);
alert(a++);
return a;
}
}
var st = a(10,20);
</script>
Form:http://bbs.51js.com/thread-66361-1-1.html
<input type="button" value="继续" onclick='st();'/>
<script>
/*基本原理*/
var st = (function(){
alert(1);
alert(2);
return function()
{
alert(3);
alert(4);
}
})();
</script>
<input type="button" value="继续" onclick='st();'/>
<script>
/*函数*/
function test(x)
{
alert(x++);
alert(x++);
return function()
{
alert(x++);
alert(x++);
}
}
var st = test(10);
</script>
<input type="button" value="继续" onclick='st();'/>
<script>
/*函数嵌套*/
function a(x,y)
{
var st2 = b(x+y);
return function()
{
st2 = st2();
alert(st2);
}
}
function b(a)
{
alert(a++);
alert(a++);
return function()
{
alert(a++);
alert(a++);
return a;
}
}
var st = a(10,20);
</script>