闭包

****闭包 出现在JavaScript中
// 它是JavaScript中特有的一种函数的结构( 一种嵌套用法 )

    // 闭包拥有三个特征
    // 1. 函数嵌套函数
    // 2. 内层函数使用了外层函数的局部变量(参数)
    // 3. 内层函数被返回到外部 在外部调用

    // 闭包的作用
    // 1. 隔离作用域 避免全局污染
    // 2. 保护具有共享意义的变量 为其提供相关的操作接口(function)

    // 闭包的缺点
    // 闭包储存的变量一直存在在内存中 不被释放
    // 大量使用闭包会浪费资源  占据内存空间

    function fn() {
        var num = 10;
        function inner() {
            var num2 = num + 5;
            return num2;
        }
        return inner;
    }
    var fn2 = fn();
    console.log(fn2());

2.return 返回值可以是任何数据类型

3.自执行函数是一次性的,正常情况下 执行完毕后会自动释放内部的变量

posted on 2020-02-29 15:29  是夏目呀  阅读(98)  评论(0编辑  收藏  举报

导航