<script> //1.闭包. //就是声明在函数内部可以访问函数内部的局部变量的函数. //闭包就是能够读取其他函数内部变量的函数, 由于在 Javascript 语言中,只有函数内部的子函数才能读取局部变量, 因此可以把闭包简单理解成 “定义在一个函数内部的函数”。 // function test1(){ // var num = 10; // function test2(){ // console.log(num); // } // } //------------------------------- //闭包: 在函数外部访问函数内部的局部变量. function test1(){ var num = 10; function test2(){ console.log(num); } return test2; //返回的是test2这个函数本身 } //调用test1函数,就会得到一个返回值fn,这个fn本质就是test2函数. var fn = test1(); fn(); //在这里调用fn函数,实际上就是执行的test2的函数体. //-------------------------------------------- // var fn = (function () { // var num1= 10; // function inner(){ // console.log(num1); // } // return inner; // }()); // //此时这个fn就相当于是inner函数,调用fn就执行inner函数的函数体. // fn(); </script>