定义 :简单来说,就是定义在函数内部的函数。
功能:
1.想要获取函数内部的变量。只需要再函数内定义一个函数,并返回出值,外部调用一下就OK
2.让这些变量的值始终保持在内存中
Tip:根据作用域规则,底层的函数没有声明变量,就会一直往上一层函数找,一直到window为止,如果没有则undefind,如果有,则会就近取到变量。
var count=10; //全局作用域 标记为flag1
function add(){
var count=0; //函数全局作用域 标记为flag2
return function(){
count+=1; //函数的内部作用域
alert(count);
}
}
var s = add()
s();//输出1
s();//输出2