闭包

  1. 定义:闭包 个人理解就是函数里面又套了个函数。

  2. 因为函数外部是访问不了函数内部的数据的,此时使用闭包就可以延长作用域链,函数内部的函数可以访问到外层函数的数据。闭包的好处还有可以封装函数,提高复用性;减少函数命名污染。

  3. 不过因为闭包内部的函数会一直存在,会导致内存泄漏,消耗性能。

// 第一种
function get1(){
    var num = 250
    return function get2(){
        console.log(num)
    }
}
var fn = get1()
fn()        // 250
get1()()    // 250

// 第二种
function get1(){
    var num = 250
    function get2(){
        console.log(num)
    }
    get2()
}
get1()       // 250

// 还可以利用匿名函数和自调用函数
// 匿名函数的写法是(function(){}),要加括号。
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享