javascript 匿名函數

匿名函數沒有實際名字,也沒有指針,怎麼執行滴?
其實你們能夠看看小括號的意義就應該能夠理解。小括號有返回值,也就是小括號內的函數或者表達式的返回值,因此說小括號內的function返回值等於小括號的返回值,不難理解 (function(){})()能夠將沒有名字的函數執行了把…
關於匿名函數寫法,很發散~
最多見的用法: javascript

複製代碼 代碼以下:

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

=====================================================================================================java

若是看不懂匿名函數,看一下這個表達式函數

var square = function(x){return x*x;}//把函數賦值給了一個變量spa

表達式指針

var tensquare = (function(x){return x*x;})(10));/函數表達式定義後當即調用code

javascript權威指南--函數ip

=====================================================================================================it

固然也能夠帶參數: io

複製代碼 代碼以下:

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


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

複製代碼 代碼以下:

(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'); 
}());

複製代碼 代碼以下:

(function(){
alert('water');
}());//有點強制執行的味道~

這麼多寫法賤賣啦~呵呵,其實有些人考慮到寫法的效率問題,若是能夠,給我一個數據把,自我感受這些寫法是有效率問題,可是應該是微乎其微而已(或許不對),我會隨便選一個用~  

相關文章
相關標籤/搜索