js闭包的概念以及引入

    xiaoxiao2021-03-25  125

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title> </head> <body> </body> <script>     //闭包:     //广义上:每一个函数都一个独立的作用域,闭包的本意就是封闭包裹,作用域正好体现了封闭包裹的意思,所以认为每一个函数都是一个闭包     //狭义上:如果某个函数可以访问到其他函数中声明的变量,我们认为这个函数是一个闭包函数     function f1(){         var obj= {};         return function(){             return obj;         }     }     //以上代码,从狭义上来说,只有内层函数才是闭包函数     function f2(){         var name="abc";         var age=20;         var gender="男";         return function(){             age++; //            console.log(name);             console.log(age); //            console.log(gender);         }     }     var func=f2();//产生执行环境:#f1      #f1中产生变量name,age,gender     func();//21     #f1中创建的变量,找到它,发现age的值:20        age++       -->age:21     func();//22     #f1中创建的变量,找到它,发现age的值:21        age++       -->age:22     var func2=f2();//产生执行环境:#f2      #f1中产生变量name,age=20,gender     func2();//21     age是#f2中创建的变量     func2();//22     func2();//23 </script> </html>
    转载请注明原文地址: https://ju.6miu.com/read-8591.html

    最新回复(0)