美文网首页
闭包的缺点

闭包的缺点

作者: 太妃榛果拿铁 | 来源:发表于2020-03-28 00:59 被阅读0次

我现在的理解就是

闭包就是一个函数,这个函数能访问其他函数的作用域。

因为JavaScript的函数比较特殊,

  • 函数内部能访问外层作用域上的变量(作用域、作用域链)
let a = 1;
function f() {
    console.log(a);
}
f();
  • 函数内能声明函数、或者创建函数表达式
function f1() {
    let sth = '本该销毁的变量';
    // 能在f1函数里,声明f2函数
    function f2() {
        console.log(sth);
    }
    // 通过return、事件绑定,将内部函数保存到了外部
    return f2;
}
let f2 = f1();
f2();
结果

在上面,就形成了一个闭包。
正常来说,一个函数执行完,函数作用域内变量的应该销毁,而闭包f2却能访问到f1的函数作用域,导致内存不能释放。如果不是某些特定任务需要使用闭包,在其它函数中创建函数是不明智的,因为闭包在处理速度和内存消耗方面对脚本性能具有负面影响。

相关文章

  • 闭包函数

    1: 2:闭包的用途 3:闭包的缺点:

  • 闭包(closure)

    ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...

  • 闭包的理解

    闭包目的: 闭包三个特性: 闭包的用途: 闭包的优点: 闭包的缺点: 参考文献: https://zhuanlan...

  • 闭包的缺点

    我现在的理解就是 闭包就是一个函数,这个函数能访问其他函数的作用域。 因为JavaScript的函数比较特殊, 函...

  • 前端常见问题总结

    什么是闭包?闭包的用途是什么?闭包的缺点是什么? 什么是闭包 闭包:内部函数总是可以访问其所在的外部函数中声明的参...

  • 闭包与this指向

    1. 闭包 1.1 闭包的形成条件: 1.2 作用:变相的外面使用里面的变量 1.3 闭包的优点也是缺点:...

  • 闭包、call-apply-bind 的用法 、HTTP状态码

    一、什么是闭包?闭包的用途是什么?闭包的缺点是什么? 答 :1、什么是闭包:如果一个函数用到了外部的变量,那么这个...

  • 闭包,call、apply、bind 的用法,HTTP 状态码

    什么是闭包?闭包的用途是什么?闭包的缺点是什么?• 闭包:如果一个函数用到了外部的变量,那么这个函数加这个变量就叫...

  • 2018-01-29

    什么是闭包?闭包的优缺点? 闭包(closure)是javascript的一大难点,也是它的特色。很多高级应用都要...

  • 闭包的总结

    围绕:闭包是什么?闭包的用途有哪些?闭包的缺点是什么? 这三个问题来进行总结 一、何为闭包?如果一个函数用到了外部...

网友评论

      本文标题:闭包的缺点

      本文链接:https://www.haomeiwen.com/subject/ynmduhtx.html