javascript 匿名函數
阿新 • • 發佈:2017-10-10
如果 不難 cti ora style erl bsp 效率問題 alert
(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‘);
}());//有點強制執行的味道~
匿名函數沒有實際名字,也沒有指針,怎麽執行滴?
其實大家可以看看小括號的意義就應該可以理解。小括號有返回值,也就是小括號內的函數或者表達式的返回值,所以說小括號內的function返回值等於小括號的返回值,不難理解 (function(){})()可以將沒有名字的函數執行了把…
關於匿名函數寫法,很發散~
最常見的用法:
(function() {
alert(‘water‘);
})();
=====================================================================================================
如果看不懂匿名函數,看一下這個表達式
var square = function(x){return x*x;}//把函數賦值給了一個變量
表達式
var tensquare = (function(x){return x*x;})(10));/函數表達式定義後立即調用
javascript權威指南--函數
=====================================================================================================
當然也可以帶參數:
復制代碼 代碼如下:(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‘);
}());
(function(){
alert(‘water‘);
}());//有點強制執行的味道~
這麽多寫法賤賣啦~呵呵,其實有些人考慮到寫法的效率問題,如果可以,給我一個數據把,自我感覺這些寫法是有效率問題,但是應該是微乎其微而已(或許不對),我會隨便選一個用~
javascript 匿名函數