欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript中匿名函數(shù)的調(diào)用與寫法實例詳解(多種)

 更新時間:2016年01月26日 11:48:15   作者:snandy  
js中定義函數(shù)的方式有很多種,函數(shù)直接量就是其中一種,下面通過本文給大家介紹匿名函數(shù)是如何調(diào)用的及匿名函數(shù)的n中寫法,對js匿名函數(shù)調(diào)用,js匿名函數(shù)寫法相關知識感興趣的朋友一起學習吧

Javascript中定義函數(shù)的方式有多種,函數(shù)直接量就是其中一種。如var fun = function(){},這里function如果不賦值給fun那么它就是一個匿名函數(shù)。好,看看匿名函數(shù)的如何被調(diào)用。

方式1,調(diào)用函數(shù),得到返回值。強制運算符使函數(shù)調(diào)用執(zhí)行

(function(x,y){
alert(x+y);
return x+y;
}(3,4)); 

方式2,調(diào)用函數(shù),得到返回值。強制函數(shù)直接量執(zhí)行再返回一個引用,引用再去調(diào)用執(zhí)行

(function(x,y){
alert(x+y);
return x+y;
})(3,4); 

這種方式也是很多庫愛用的調(diào)用方式,如jQuery,Mootools。

方式3,使用void

void function(x) {
x = x-1;
alert(x);
}(9);

方式4,使用-/+運算符

-function(x,y){
alert(x+y);
return x+y;
}(3,4);
+function(x,y){
alert(x+y);
return x+y;
}(3,4);
--function(x,y){
alert(x+y);
return x+y;
}(3,4);
++function(x,y){
alert(x+y);
return x+y;
}(3,4); 

方式5,使用波浪符(~)

~function(x, y) {
alert(x+y);
return x+y;
}(3, 4); 

方式6,匿名函數(shù)執(zhí)行放在中括號內(nèi)

[function(){
console.log(this) // 瀏覽器得控制臺輸出window
}(this)] 

方式7,匿名函數(shù)前加typeof

typeof function(){
console.log(this) // 瀏覽器得控制臺輸出window
}(this) 

方式8,匿名函數(shù)前加delete

delete function(){
console.log(this) // 瀏覽器得控制臺輸出window
}(this) 

方式9,匿名函數(shù)前加void

void function(){
console.log(this) // 瀏覽器得控制臺輸出window
}(this) 

方式10,使用new方式,傳參

new function(win){
console.log(win) // window
}(this) 

方式11,使用new,不傳參

new function(){
console.log(this) // 這里的this就不是window了
} 

方式12,逗號運算符

 function(){
console.log(this) // window
}(); 

方式13,按位異或運算符

^function(){
console.log(this) // window
}(); 

方式14,比較運算符

function(){
console.log(this) // window
}(); 

最后看看錯誤的調(diào)用方式

function(x,y){
alert(x+y);
return x+y;
}(3,4); 

匿名函數(shù)的N種寫法如下所示

匿名函數(shù)沒有實際名字,也沒有指針,怎么執(zhí)行?

關于匿名函數(shù)寫法,很發(fā)散~

+號是讓函數(shù)聲明轉(zhuǎn)換為函數(shù)表達式。匯總一下

最常見的用法:

代碼如下:

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

當然也可以帶參數(shù):

代碼如下:

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

想用匿名函數(shù)的鏈式調(diào)用?很簡單:

代碼如下:

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

常見的匿名函數(shù)都知道了,看看不常見的:

代碼如下:

~(function(){ 
alert('water'); 
})();//寫法有點酷~ 

代碼如下:

void function(){ 
alert('water'); 
}();//據(jù)說效率最高~ 

代碼如下:

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

代碼如下:

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

代碼如下:

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

代碼如下:

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

代碼如下:

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

以上給大家分享了Javascript中匿名函數(shù)的調(diào)用與寫法,希望對大家有所幫助。

相關文章

最新評論