javascript闭包指的是什么

这篇文章主要介绍了javascript闭包指的是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

10年积累的网站设计制作、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有湘阴免费网站建设让你可以放心的选择与我们合作。

JavaScript闭包就是一个内部函数能够访问它所在外部函数作用域中的所有局部变量,参数或者是其他内部函数。使用闭包需要注意闭包使用增大了内存消耗,可能会造成内存泄漏

JavaScript中的闭包函数是javascript的一个重要知识点同样也是一个难点。简单的说闭包就是一个函数能够访问其函数外部作用域的变量。

JavaScript闭包

在JavaScript中允许函数定义和函数表达式位于另一个函数的函数体中(内部函数),而且内部函数可以访问它们所在外部函数声明中的所有局部变量,参数以及其他内部函数。当其中一个内部函数被外部函数以外调用时就会形成闭包

闭包的特点

闭包函数具有以下三个方面的特点

(1)函数嵌套函数

(2)内部的函数可以访问外部函数的变量

(3)参数和变量都不会被回收

例:

<script>
function f1(){
var n=999;
nAdd=function(){
	n+=1
}
function f2(){
 document.write(n);
    }
    return f2;
  }
  var result=f1();
  result(); 
  nAdd();
  result();
	</script>

输出结果为:

javascript闭包指的是什么

上述代码可以这样理解:

f1是f2的父函数,而f2被赋给了一个全局变量(return的值),这导致f2始终在内存中,而f2的存在依赖于f1,因此f1也始终在内存中,不会在调用结束后,被垃圾回收机制(garbage collection)回收,这便形成了闭包。

javascript闭包指的是什么

闭包的优缺点

优点

(1)它可以保护函数内的变量安全 ,实现封装,防止变量流入其他环境发生命名冲突

(2)匿名自执行函数可以减少内存消耗

(3)在内存中维持一个变量,可以做缓存

缺点

(1)被引用的私有变量不能被销毁,增大了内存消耗,造成内存泄漏

(2)由于闭包涉及跨域访问,所以会导致性能损失,影响代码执行速度

感谢你能够认真阅读完这篇文章,希望小编分享javascript闭包指的是什么内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!

当前题目:javascript闭包指的是什么
URL网址:https://www.cdcxhl.com/article6/pdhdig.html

成都网站建设公司_创新互联,为您提供用户体验面包屑导航App设计营销型网站建设静态网站云服务器

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设