您好,登錄后才能下訂單哦!
本文實(shí)例講述了JS匿名函數(shù)和匿名自執(zhí)行函數(shù)概念與用法。分享給大家供大家參考,具體如下:
1. 匿名函數(shù)的常見場(chǎng)景
js中的匿名函數(shù)是一種很常見的函數(shù)類型,比較常見的場(chǎng)景:
<input type="button" value="點(diǎn)擊" id="btn"> <script type="text/javascript"> //匿名函數(shù)的第一種情形 var btn=document.querySelector("#btn"); btn.onclick=function(){ // alert("aaaaa"); } //匿名函數(shù)的第二種情形 setInterval(function(){ // alert("bbbbb"); }, 1000); //匿名函數(shù)的第三種情形 var fun=function(){ alert("ccccc"); } // fun(); //匿名函數(shù)的第四種情形 var obj={ name:"dddd", say:function(){ alert(this.name); } } obj.say(); </script>
上面展示的就是常見的匿名函數(shù)的使用場(chǎng)景。(注意:querySelector是H5中新增的查找dom元素的方法)
2. 匿名自執(zhí)行函數(shù)
見名思義,匿名自執(zhí)行函數(shù)首先是一個(gè)匿名函數(shù),但是這個(gè)函數(shù)是可以自己自動(dòng)執(zhí)行的,不需要借助其他的元素。
<input type="button" value="點(diǎn)擊" id="btn"> <script type="text/javascript"> //1,匿名函數(shù)的第一種實(shí)現(xiàn)方式 (function(data){ // alert(data); })("eee"); //2.匿名自執(zhí)行函數(shù)的第二種實(shí)現(xiàn)方式 (function(){ // alert("fff"); }()); //3.匿名自執(zhí)行函數(shù)的第三種實(shí)現(xiàn)方式 !function(data){ // alert(data); }("hhh"); //4.匿名自執(zhí)行函數(shù)的第四種實(shí)現(xiàn)方式 var fun=function(data){ alert(data); }("iii");
從上面的代碼塊中我們可以總結(jié)出實(shí)現(xiàn)匿名自執(zhí)行函數(shù)的方法一般有四種。
3. 匿名自執(zhí)行函數(shù)的作用
①. 匿名自執(zhí)行函數(shù)最常見的作用是用于實(shí)現(xiàn)閉包的情況中。關(guān)于閉包的概念我會(huì)在后面的文章中詳細(xì)介紹。這里簡(jiǎn)單說(shuō)明一下閉包。閉包:閉包是js的一種特性,我們可以通過(guò)閉包實(shí)現(xiàn)函數(shù)內(nèi)外部的連接,并且可以使得函數(shù)的局部變量始終存在于內(nèi)存中。
②. 匿名自執(zhí)行函數(shù)還可以用于在js中模擬創(chuàng)建塊級(jí)作用域,即如果使用匿名自執(zhí)行函數(shù)將某些代碼包裹起來(lái)可以實(shí)現(xiàn)塊級(jí)作用域的效果,減少全局變量的數(shù)量,在匿名自執(zhí)行函數(shù)執(zhí)行結(jié)束后變量就會(huì)被內(nèi)存釋放掉,從而也會(huì)節(jié)省了內(nèi)存。
4. 匿名函數(shù)和匿名自執(zhí)行函數(shù)總結(jié)
匿名函數(shù)可以簡(jiǎn)單理解為沒(méi)有名字的函數(shù),常見的場(chǎng)景一共就有4種。
匿名自執(zhí)行函數(shù)可以簡(jiǎn)單理解為可以自己執(zhí)行的匿名函數(shù),實(shí)現(xiàn)匿名自執(zhí)行函數(shù)的方式一共有4種。
匿名自執(zhí)行函數(shù)的作用就是用于閉包和創(chuàng)建獨(dú)立的命名空間兩個(gè)方面。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。