JavaScript中的闭包、匿名函数

来源:互联网 发布:热血传奇免费挂机软件 编辑:程序博客网 时间:2024/06/14 02:28

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

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

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

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

0 0