阅读884 返回首页    go 阿里云 go 技术社区[云栖]


Javascript匿名函数

 

  // 匿名函数——最基本方式(立即执行)
  (function(){
       alert("匿名函数");
  })();
  
  // 等价于
  var test = function(){
       alert("匿名函数");
  }
  test();
 


  // 匿名函数——带参数
  (function(param){
       alert(param);
  })("xy");
  
  
  // 匿名函数——链式调用
  (function(param) {
       alert(param);
       return arguments.callee;
  })("xy")("xy")("xy"); 
  

 

  // 匿名函数——jQuery

  (function($){

    ...................................

   })(jQuery);

 

  // 等价于
  var test = function(){
       var $ = jQuery;

       .......................................

  }
  test();

 

 

 那么js匿名函数有什么好处呢?

  (function(){
       var a = "xy";

  })();

这样写的好处是里边的变量,比如a,都是封闭的,不对外开放,减少了全局变量带来的混乱。

 

 

还有其他的一些写法

 
!!!(function(){   
     alert("run!")   
})();    


(function(){   
     alert("run!")   
}).call();    


(function(){   
     alert("run!")   
}).apply();    


(function(){   
     alert("run!")   
}());    


void (function(){   
     alert("run!")   
})();    


~(function(){   
     alert("run!")   
})();    


~!(function(){   
     alert("run!")   
})();   
  


delete (function(){   
     alert("run!")   
})();    


+(function(){   
     alert("run!")   
})();    


-(function(){   
     alert("run!")   
})();    


setTimeout(function(){   
     alert("run");   
},0);    


  
~+-!(function(){   
     alert("run!")   
})();

 

参考博客: https://blog.163.com/yyl_love_you@126/blog/static/7261237120101011101320878/

 

 

最后更新:2017-04-02 22:16:20

  上一篇:go java二维数组
  下一篇:go 开发中选择"上一步""下一步"的思路