当咱们谈到闭包的时候,咱们到底在谈论些什么?

闭包实例

<html>
    <head>
        <script>
            function f(starts){
                var ms = 9;
                return function(){
                        return ms++;
                }
            }
            var k = f(5);
            alert(k());//5
            alert(k());//6
            alert(k());//7
        </script>
    </head>
</html>

在建立了一个函数对象k的时候,一样为这个函数对象k加入了一个参数ms。那么在再次调用这个函数k的时候,这个函数k内部依旧保留了这个参数ms,并且每次调用都是哪个参数ms。而不是从新建立ms。由于这个ms在建立这个函数对象k的时候就已经建立了,之后只要使用就行。这就是函数内带上参数的做用,也就是闭包的做用。html

闭包是一个函数加上和其做用域链的连接。所以,f(5)返回的是一个闭包函数对象。闭包

相关文章
相关标签/搜索