如代码:
<script>
function test(){
var num = 0;
var m = 1;
return function(){
console.log(num++);
}
}
var b = test();
b();
b();
b();
</script>
在以上代码中,外层函数定义了变量num,但是内层函数使用了这个变量num,此时在外面调用内层函数时,num变量一直存在并值为递增。这是因为由于内层函数使用外层函数变量时,当外层函数结束运行后,这个变量不会消失,一直存在于内存中,所以内层函数可以一直调用。