JS高级:闭包

Posted tangge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS高级:闭包相关的知识,希望对你有一定的参考价值。

1 如何产生闭包?

当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时, 就产生了闭包(closure)

2 闭包到底是什么?

使用chrome调试查看

理解一: 闭包是嵌套的内部函数

理解二: 包含被引用变量(函数)的对象

注意: 闭包存在于嵌套的内部函数中

3 产生闭包的条件?

函数嵌套

内部函数引用了外部函数的数据(变量/函数)

4 常见的闭包使用形式?

4.1 将函数作为另一个函数的返回值

   // 1. 将函数作为另一个函数的返回值
    function fn1() 
        var num = 10;
        function fn2() 
            num++;
            console.log(num);
        
        return fn2;
    

    var f = fn1();
    f(); // 11
    f(); //

技术图片

4.2 将函数的形参作为实参传递给另一个函数调用

以上是关于JS高级:闭包的主要内容,如果未能解决你的问题,请参考以下文章

JS高级---闭包案例,点赞

JS高级---闭包小案例

js高级-闭包

高级js4 闭包作用域面试题详解 this 闭包方案

2022前端面经---(js高级)一文让你搞懂闭包

闭包的高级使用-变量私有化-模块化开发-js命名空间