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

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

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

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

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

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

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

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

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

方式3,使用void

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

方式4,使用-/+運(yùn)算符

-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í)行放在中括號(hào)內(nèi)

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

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

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

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

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

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

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

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

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

方式11,使用new,不傳參

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

方式12,逗號(hào)運(yùn)算符

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

方式13,按位異或運(yùn)算符

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

方式14,比較運(yùn)算符

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

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

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

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

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

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

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

最常見的用法:

代碼如下:

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

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

代碼如下:

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

想用匿名函數(shù)的鏈?zhǔn)秸{(diào)用?很簡(jiǎn)單:

代碼如下:

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

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

代碼如下:

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

代碼如下:

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

代碼如下:

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

代碼如下:

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

代碼如下:

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

代碼如下:

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

代碼如下:

(function(){ 
alert('water'); 
}());//有點(diǎn)強(qiáng)制執(zhí)行的味道~

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

相關(guān)文章

最新評(píng)論