jquery中可以有匿名函數(shù),定義語法為“(function($){…})(jQuery)”;該語句將jquery對(duì)象作為實(shí)參,就會(huì)自動(dòng)調(diào)用匿名函數(shù),并將參數(shù)傳遞給匿名函數(shù)作為匿名函數(shù)的形參。
本教程操作環(huán)境:windows10系統(tǒng)、jquery3.2.1版本、Dell G3電腦。
jquery匿名函數(shù)
$(function(){ }實(shí)際上是匿名函數(shù)。這是JQuery的語法,$表示JQuery對(duì)象,可以有好幾種用法。比如傳遞選擇器字符串、頁面對(duì)象等,如果直接傳函數(shù)體進(jìn)去,表示當(dāng)頁面加載完畢時(shí)執(zhí)行這個(gè)函數(shù)。
這里實(shí)際上是匿名函數(shù) “$(function(){ } ”這就定義了一個(gè)匿名函數(shù),參數(shù)為arg 而調(diào)用函數(shù)時(shí),是在函數(shù)后面寫上括號(hào)和實(shí)參的,由于操作符的優(yōu)先級(jí),函數(shù)本身也需要用括號(hào),即:“$(function(){ } ”這就相當(dāng)于定義了一個(gè)參數(shù)為arg的匿名函數(shù),并且將param作為參數(shù)來調(diào)用這個(gè)匿名函數(shù) 而“$(function(){ } ”則是一樣的,之所以只在形參使用$,是為了不與其他庫沖突。
(funtion(){})();立即執(zhí)行函數(shù);相當(dāng)于先申明一個(gè)函數(shù),聲明完后直接調(diào)用。
(function($){ })(jQuery):執(zhí)行(jQuery)函數(shù),并把jQuery對(duì)象作為實(shí)參,然后就會(huì)自動(dòng)調(diào)用(function ($) {…}()這個(gè)匿名函數(shù),并把實(shí)參傳遞給匿名函數(shù),作為匿名函數(shù)的形參。
(function ($) { alert("我執(zhí)行了");})(jQuery);
等同于
function callfunc($) { alert("我執(zhí)行了");}callfunc(jQuery);
執(zhí)行結(jié)果如下:
示例如下:
相當(dāng)于定義了一個(gè)參數(shù)為info的匿名函數(shù),并且執(zhí)行("CoderZB")的同時(shí),將CoderZB作為參數(shù)來,就會(huì)自動(dòng)調(diào)用這個(gè)(function (info) {})匿名函數(shù).最后面的()是調(diào)用匿名函數(shù)并將參數(shù)傳遞給匿名函數(shù)
(function (info) { alert(info); })("CoderZB");
其實(shí)就是這種形式。
function infomationFunc(info) { alert(info); }; infomationFunc("CoderZB");
示例如下:
視頻教程推薦:jQuery視頻教程