怎么在JavaScript中使用闭包

  介绍

这篇文章将为大家详细讲解有关怎么在JavaScript中使用闭包,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

JavaScript的作用是什么

1,能够嵌入动态文本于HTML页面。2,对浏览器事件做出响应。3,读写HTML元素。4、在数据被提交到服务器之前验证数据。5,检测访客的浏览器信息。6,控制饼干,包括创建和修改等7,基于节点。js技术进行服务器端编程。

理解闭包关键是理解js的对象的本质以及垃圾收集机制。函数也是对象,也有属性,通常执行一个函数时,局部变量在函数执行完后,内存会被回收,这是js的垃圾收集机制决定的,<强>如果想保存局部变量所占用的内存,就必须把保存在另一个不被回收的变量中,通常是全局变量强。函数在创建时,内部属性<代码>[[范围]]> [[范围]]>

<强>最简单的闭包:

function  f1 (), {   ,var 小姐:=,0;   ,return  function  (), {   ,var  j =, 0;   ,我+ +;   ,console.log (i, j);   ,};   }   var  fn =, f1 ();   fn ();//1, 0   fn ();//2, 0

还有诸如给元素添加事件,事件函数保存着外部函数的变量,通过这个特性可以让按钮显示被点击次数。

当然可以创建多层闭包,最内部函数保存所有外部函数以及全局对象的变量,但并不是任何地方都用闭包,因为其始终都带有<代码>[[范围]]>

闭包在模块化编程,为函数或对象创建私有变量的时候非常有用,可以避免全局污染以及变量命名冲突的问题。

<强>值得注意的是因为 <代码>[[范围]]代码 <>强与函数有关,如上述例子,在两次执行f1函数把返回的函数保存在不同的变量中,其外部函数的变量是互不影响的。如:

function  f1 (), {   ,var 小姐:=,0;   ,return  function  (), {   ,var  j =, 0;   ,我+ +;   ,console.log (i, j);   ,};   }   var  fn =, f1 ();   fn ();//1, 0   fn ();//2, 0   var  fn1 =, f1 ();   fn1 ();//1, 0   fn ();//3, 0   fn1 ();//2, 0

关于怎么在JavaScript中使用闭包就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么在JavaScript中使用闭包