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>