javascript 中巧用“闭包”实现程序的暂停执行功能 javascript 中使用闭包可以实现程序的暂停执行功能,这是一种非常有趣且实用的技术。在这篇文章中,我们将通过三个示例来展示如何使用闭包实现程序的暂停执行功能。 什么是闭包? 在了解闭包之前,我们需要先了解javascript 中的函数。javascript 中的函数是一个特殊的对象,它可以被作为另一个函数的参数,也可以作为一个函数的返回值。函数还可以访问外部的变量,这是因为javascript 中的函数都是在当前的作用域中执行的。 闭包(closure)是一个函数,它可以访问外部的变量,并且可以作为另一个函数的返回值。闭包的特点是它可以记忆外部的变量,即使外部的变量已经不存在了。这种特点使得闭包可以实现程序的暂停执行功能。 示例一:基本原理 在第一个示例中,我们使用闭包来实现程序的暂停执行功能。我们首先定义一个闭包,闭包中包含两个alert语句,分别输出1和2。然后,我们将闭包返回,并将其赋值给变量st。我们添加一个按钮的onclick事件,点击按钮时,执行st函数。 ``` <script> var st = (function(){ alert(1); alert(2); return function(){ alert(3); alert(4); } })(); </script> <input type="button" value="继续" onclick='st();'/> ``` 在上面的代码中,我们首先执行闭包,输出1和2,然后返回一个新的函数。这个新的函数将输出3和4。当我们点击按钮时,执行st函数,输出3和4。 示例二:函数 在第二个示例中,我们使用闭包来实现程序的暂停执行功能。我们首先定义一个函数test,函数test中包含两个alert语句,分别输出x和x++。然后,我们返回一个新的函数,输出x++和x++。我们将函数test的返回值赋值给变量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();'/> ``` 在上面的代码中,我们首先执行函数test,输出10和11,然后返回一个新的函数。这个新的函数将输出12和13。当我们点击按钮时,执行st函数,输出12和13。 示例三:函数嵌套 在第三个示例中,我们使用闭包来实现程序的暂停执行功能。我们首先定义一个函数a,函数a中包含两个alert语句,分别输出x和y。然后,我们返回一个新的函数,输出x++和y++。我们将函数a的返回值赋值给变量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> <input type="button" value="继续" onclick='st();'/> ``` 在上面的代码中,我们首先执行函数a,输出10和20,然后返回一个新的函数。这个新的函数将输出21和22。当我们点击按钮时,执行st函数,输出21和22。 使用闭包可以实现程序的暂停执行功能,这是一种非常有趣且实用的技术。通过三个示例,我们了解了如何使用闭包实现程序的暂停执行功能。在实际开发中,我们可以使用闭包来实现程序的暂停执行功能,提高代码的可读性和可维护性。
- 粉丝: 8
- 资源: 907
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助