欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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());

使用闭包可以把局部变量驻留在内存中,可以避免使用全局变量,使用全局变量,可能造成全局变量的污染,因为每一个模块都可以调用,

给整个应用带来不接预计的灾难,所以我们可以使用局部的变量,来避免全局变量的不可预测性。

注意:使用闭包会让局部变量驻留在内存,所以建议慎重使用,除非是必须要用时候,不然尽量少用,不然整个应用的性能将会下降!