匿名函数的使用例子1

转载自:http://www.cnblogs.com/webw3c/archive/2011/09/21/2183092.html

匿名函数

关于JavaScript的最头疼的事情之一是,它的变量没有特定的作用范围。 一般情况下,任何变量,函数,数组或对象都是全局性,这意味着在同一页上的其他脚本可以访问并覆盖它们。解决方法是把变量封装在一个匿名函数中。 例如,下面的定义将产生三个全局变量和和两个全局函数:

01 <span style="font-family: verdana, geneva;">var name = 'Chris';
02 var age = '34';
03 var status = 'single';
04 function createMember(){
05   // [...]
06 }
07 function getMemberDetails(){
08   // [...]
09 }
10 </span>

封装后如下:

01 <span style="font-family: verdana, geneva;">var myApplication = function(){
02   var name = 'Chris';
03   var age = '34';
04   var status = 'single';
05   return{
06     createMember:function(){
07       // [...]
08     },
09     getMemberDetails:function(){
10       // [...]
11     }
12   }
13 }();
14 // myApplication.createMember() and
15 // myApplication.getMemberDetails() now works.
16 </span>

这被称为单体模式,是JavaScript设计模式的一种,这种模式在YUI中用得非常多,改进的写法是:

01 <span style="font-family: verdana, geneva;">var myApplication = function(){
02   var name = 'Chris';
03   var age = '34';
04   var status = 'single';
05   function createMember(){
06     // [...]
07   }
08   function getMemberDetails(){
09     // [...]
10   }
11   return{
12     create:createMember,
13     get:getMemberDetails
14   }
15 }();
16 //myApplication.get() and myApplication.create() now work.
17 </span>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值