(原创)JS闭包看代码理解

Posted Answer.AI.L

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(原创)JS闭包看代码理解相关的知识,希望对你有一定的参考价值。

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>JS闭包</title>    
        <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
        
        <script type="text/javascript">
            
            $(document).ready(function(){
                
                alert("JS闭包的作用开始了!!!");
                
                var a = aa();
                
                a();
                
                addNum();
                
                a();
                
                addNum();
                
                a();
            });
            
            
            function aa() {
                var n = 100;
                
                addNum = function() {
                            n++;
                        }
                
                function bb() {
                    alert(n)
                }
                return bb;        
            }
            
            function showNum() {
                var show = aa();
                show();
            }
            
            
            function noClosure() {
            
                alert("看下去就知道区别了!!!");
                
                showNumber();
                
                addNum();
                
                showNumber();
            }
            
            function showNumber() {
                var n = 999;
                
                addNum = function() {
                            n++;
                            alert(n)
                        }    
                alert(n);
            }
            
        </script>
    </head>
    <body>
    
        JS闭包(闭包就是能够读取其他函数内部变量的函数):
            <br />
        <input type="button" value="点我" onclick="showNum();" />
        
        <input type="button" value="无闭包" onclick="noClosure();" />

    </body>
</html>

 

用简单的代码教你理解JS闭包,js闭包简单说就是能够读取到函数内部变量值的函数,并且使这些变量始终保存在内存中

 

不要停留在羡慕别人代码的层次上,因为不试试,你怎么知道你也可以让别人羡慕的呢???

 

以上是关于(原创)JS闭包看代码理解的主要内容,如果未能解决你的问题,请参考以下文章

JS---闭包

如何快速的理解JavaScript闭包?

js闭包的作用

js中的闭包

经典js闭包----对《大部分人都会做错的经典JS闭包面试题》的理解

JS闭包的概念