js中匿名函數的那些事兒

在java中有private屬性,強大的功能js不能實現就矮人一截,匿名函數,發揚廣大
    匿名函數沒有實際名字,也沒有指針,怎麼執行滴?
    其實大家可以看看小括號的意義就應該可以理解。小括號有返回值,也就是小括號內的函數或者表達式的返回值,所以說小括號內的function返回值等於小括號的返回值,不難理解 (function(){})()可以將沒有名字的函數執行了把…
    關於匿名函數寫法,很發散~
    最常見的用法:

(function() {
   alert('water');
})();

當然也可以帶參數:

(function(o) {
    alert(o);
})('water');

想用匿名函數的鏈式調用?很簡單:

(function(o) {
    alert(o);
    return arguments.callee;
})('water')('down');


常見的匿名函數都知道了,看看不常見的:

~(function(){
    alert('water');
})();//寫法有點酷~
void function(){
    alert('water');
}();//據說效率最高~
+function(){
    alert('water');
}();
-function(){
    alert('water');
}();
~function(){
    alert('water');
}();
!function(){
    alert('water');
}();
(function(){
    alert('water');
}());//有點強制執行的味道~

這麼多寫法賤賣啦~呵呵,其實有些人考慮到寫法的效率問題,如果可以,給我一個數據把,自我感覺這些寫法是有效率問題,但是應該是微乎其微而已(或許不對),我會隨便選一個用~
歡迎大家不吝賜教,本人新手~
至於轉載不轉載的,本人不在乎,畢竟我這樣一個新手的學習之路,沒有大牛會在乎~

 

 

轉自:http://blog.163.com/water_down/blog/static/1702765902010869124093/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章