国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 10:41:27
字體:
來源:轉載
供稿:網友

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

方式1,調用函數,得到返回值。強制運算符使函數調用執行

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

方式2,調用函數,得到返回值。強制函數直接量執行再返回一個引用,引用再去調用執行

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

這種方式也是很多庫愛用的調用方式,如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,匿名函數執行放在中括號內

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

方式7,匿名函數前加typeof

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

方式8,匿名函數前加delete

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

方式9,匿名函數前加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}(); 

最后看看錯誤的調用方式

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

匿名函數的N種寫法如下所示

匿名函數沒有實際名字,也沒有指針,怎么執行?

關于匿名函數寫法,很發散~

+號是讓函數聲明轉換為函數表達式。匯總一下

最常見的用法:

代碼如下:

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

當然也可以帶參數:

代碼如下:

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

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

代碼如下:

(function(o) { console.log(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'); }());//有點強制執行的味道~

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九台市| 什邡市| 武胜县| 登封市| 丽江市| 安康市| 濮阳市| 马关县| 沿河| 忻城县| 抚松县| 乌海市| 新民市| 武夷山市| 光山县| 进贤县| 哈尔滨市| 盈江县| 宾阳县| 灵山县| 加查县| 汕头市| 光泽县| 休宁县| 镇雄县| 阿荣旗| 如东县| 新源县| 南通市| 延吉市| 邹城市| 渝中区| 象州县| 兴化市| 花莲市| 宝应县| 神农架林区| 东源县| 儋州市| 莲花县| 乐清市|