閱讀884 返回首頁    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 開發中選擇"上一步""下一步"的思路