前端学习 第六弹: javascript中的函数与闭包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端学习 第六弹: javascript中的函数与闭包相关的知识,希望对你有一定的参考价值。

前端学习 第六弹:  javascript中的函数与闭包

当function里嵌套function时,内部的function可以访问外部function里的变量

function foo(x) {
    var tmp = 3;
    function bar(y) {
        alert(x + y + (++tmp));
    }
    bar(10);
}
foo(2)

这时无论怎么运行输出的都是16,但这不是闭包

 

如果我们返回内部函数,内部function会close-over外部function的变量直到内部function结束

function foo(x) {
    var tmp = 3;
    return function (y) {
        alert(x + y + (++tmp));
    }
}
var bar = foo(2); // bar 现在是一个闭包
bar(10);
这时反复运行会输出16,17,18.....
这就是一个闭包

 














以上是关于前端学习 第六弹: javascript中的函数与闭包的主要内容,如果未能解决你的问题,请参考以下文章

Hulu机器学习问题与解答系列 | 第六弹:PCA算法

重操JS旧业第六弹:基本类型包装

『LeetCode』练习第六弹_算法9题

Mybatis 踩坑第六弹—缓存

perl 第六弹 变量 II

『PyTorch』第六弹_最小二乘法的不同实现手段(待续)