日常——js

1 闭包

1.1 概念

闭包指:有权访问另一个函数作用域中变量的函数。

1.2 优缺点
  • 优点:闭包函数中的变量不会随着闭包函数销毁而销毁,而是要等到还在使用的函数销毁时才会销毁;
  • 缺点:频繁使用闭包会造成内存泄漏。闭包:会将它的外部函数的作用域的变量也保存在内存中;
1.3 解决闭包造成的内存泄漏

在使用玩闭包函数的变量之后将该变量赋值null,触发 js 的回收机制。

function f1() { 
    var a = '变量1'  //f1里的这些被f2访问到的变量集合就称为闭包
    var f2 = function () { 
        console.info(a) 
    } 
    
    a = null //在函数执行完之后销毁变量,触发js的回收机制,就不会有内存泄漏的风险了
    return f2 //  f1就是一个闭包函数,因为他的变量能被f2访问
} 
var fn = f1() // 获得f1的变量 //"变量1"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值