JavaScript-函数篇-003(JavaScript中的匿名函数)

在开源的JavaScript框架中能看到很多这样语法结构
       (function(){
         ......
       }
       )()
比如我最近看的jQuery,及chediter。刚开始的时候我看到这样的结果有点奇怪,它是怎么执行的,
并且这是什么样的语法结构,最近偶尔看闭包的时候,才发现原来这是JavaScript中的匿名函数
(看到这个有点汗,java的匿名类见过,就从来没想到JavaScript中会有匿名函数,也是学的不够牢固)。


现在我们了解到以上是JavaScript匿名函数的语法结构,怎么声明函数,
匿名函数JavaScript是怎么执行的,匿名函数的代码模式。这些问题就是我们接下来要探讨的问题。


第一:怎么声明函数
      1. 函数声明        function test(){ }
      2. 函数表达式      var test = function(){};
         匿名函数(属于2) function(){}  
 3. new关键字       var test = new Function([arguments], Body);


 
第二:匿名函数怎样执行
     (function(){
 
  // do something...
})();
      其实有两部分构成:
 (function(){
   //.....
 })  表示为函数的定义
 ():  表示立即执行匿名函数
 
 等价于:
 var test = function(){
   //...
 } //声明匿名类并将匿名函数赋予变量test。 
 test();
第三:匿名函数的代码模式
      1.错误模式:其无法工作,浏览器会报语法错
   function(){
 //....
}();
 2.函数字面量:首先声明一个函数对象,然后执行它。 也称为立即执行函数。
   (function(){
 //....
})();

编译一定能通过,第一()是函数定义,而第二个()代表执行第一括号里面的内容
 3.优先表达式:由于Javascript执行表达式是从圆括号里面到外面,所以可以用圆括号强制执行声明的函数。
   (function(){
 //.....
}())
 4.Void操作符 用void操作符去执行一个没有用圆括号包围的一个单独操作数
    void function(){ 
  alert(1); 
    }()
 
这三种方式是等同的,hedger wang因为个人原因比较喜欢第3种,
而在实际应用中我看到的和使用的都是第2种以及上面提到的 new Funtion( )的定义方式。


灵活的配合var关键字,匿名函数可以有效的保证在页面上写入Javascript,
而不会造成全局变量的污染。也能增加代码的可读写行,减少代码量,提高程序的性能。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值