匿名函数和闭包
1.匿名函数是没有函数名称的函数,单独的匿名函数是无法运行和调用的。
2
(1)将表达式赋值给变量(不常用)
var fn=function () {
alert(“我是匿名函数”)
}
alert(fn());
(2)表达式自我执行(匿名函数)();
(function () { alert(“我是匿名函数2”) })()
(3)(匿名函数)(参数);
(function(m,n) {
alert(m+n)
})(10,100);
3闭包
(1)闭包是有权访问另一个函数作用域变量的函数,常见方式是函数内部创建另一个函数,
//调用1 fn()();
//调用2 var bb=fn(); bb();
用法:在函数内部嵌套匿名函数,然后再调用
用途:A访问局部变量,
B使这些变量的值始终保存着内存中(使局部变量实现变量累加),只能第二种方式调用,第一种每次都会初始化一次,并不会实现累加
优点:减少代码量,使这些局部变量始终保存着内存中,避免使用全局变量
缺点:这些局部变量不会立即销毁,浪费内存
注:使用完后回收fn=null;
4循环函数中的匿名函数和闭包