首页 > Web开发 > 详细

js闭包函数

时间:2020-05-17 10:23:08      阅读:53      评论:0      收藏:0      [点我收藏+]

一. 匿名函数

javascript中: (function(){})()是匿名函数,主要利用函数内的变量作用域百,避免产生全局变量,影响整体页面环境,增加代码的兼容性。

(function(){})是一个标准的函数定义,但是没有复制给任何变量。所以是没有名字的函数,叫匿名函数。没有名字就度无法像普通函数那样随时随地调用了,所以在他定义完知成后就马上调用他,后面的括号()是运行这个函数的意思

 

二. 闭包示例

1. 首先立即执行匿名函数获得闭包函数,此时闭包函数可以拿到上一层函数的变量保证不被销毁

2. 此时counter就类似私有变量,只能通过闭包函数进行修改

3. 缺点大量内存占用,导致局部变量不会被垃圾回收,严重会导致内存泄漏(内存泄漏是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果)

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
 
add();
add();
add();
 
// 计数器为 3

 

js闭包函数

原文:https://www.cnblogs.com/dlm17/p/12903993.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!