码迷,mamicode.com
首页 > Web开发 > 详细

JS高级:闭包

时间:2019-10-05 10:18:47      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:func   包含   chrome   http   返回   fun   ret   嵌套   pre   

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高级:闭包

标签:func   包含   chrome   http   返回   fun   ret   嵌套   pre   

原文地址:https://www.cnblogs.com/tangge/p/11623830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!