JavaScript中的闭包、匿名函数
程序员文章站
2022-04-05 15:21:12
...
1.什么是匿名函数?
顾名思义,匿名函数就是没有名字的函数。
(1)普通函数
function general(){
return "This is a general function";
}
(2)匿名函数
function(){
return "This is a anonymous function!";
}
匿名函数可以通过表达式自我执行:
(function(){return "123"})();
//()表示执行函数并传参数。
也可以把匿名函数赋值给变量。
var instance = function(){
return "welcome anonymous...";
};
alert(instance());
2.闭包的概念
闭包是指能够访问另一个函数作用域中变量的函数,我们创建闭包常见的方式就是在一个函数中创建另一个函数,通过另一个函数
访问这个函数的局部变量。
*****通过闭包可以返回局部变量*****
function general(){
var str = "hello world...";
return function(){
return str;
}
}
alert(general()()); //直接访问
var temp = general(); //将函数赋值给变量,通过变量访问
alert(temp());
使用闭包可以把局部变量驻留在内存中,可以避免使用全局变量,使用全局变量,可能造成全局变量的污染,因为每一个模块都可以调用,
给整个应用带来不接预计的灾难,所以我们可以使用局部的变量,来避免全局变量的不可预测性。
注意:使用闭包会让局部变量驻留在内存,所以建议慎重使用,除非是必须要用时候,不然尽量少用,不然整个应用的性能将会下降!
下一篇: java反射机制是什么