您好,登錄后才能下訂單哦!
小編給大家分享一下JavaScript中立即執(zhí)行函數(shù)的使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
我們先來簡單看一下函數(shù)是什么?
函數(shù)是由事件驅(qū)動的或者當(dāng)它被調(diào)用時執(zhí)行的可重復(fù)使用的代碼塊。
換句話說,如果你多次使用某個函數(shù),只要調(diào)用就可以簡單地使用。
使用fonction,定義如下。
fonction 函數(shù)名(){ 執(zhí)行的代碼 }
我們再來看一下什么是匿名函數(shù)?
顧名思義,匿名函數(shù)是其功能可以在沒有函數(shù)名稱的情況下定義的函數(shù)
使用匿名函數(shù)還具有在使用高階函數(shù)時簡化代碼的優(yōu)點。
高階函數(shù)是一個可以將函數(shù)本身作為參數(shù)或返回值處理的函數(shù)。
在高階函數(shù)中,作為參數(shù)的函數(shù)通常只使用一次,因此i可以通過使代碼成為匿名函數(shù)來使代碼變得簡單。
此外,由于你不需要通過使其成為匿名函數(shù)來定義全局范圍名稱,因此還可以減少由于復(fù)制函數(shù)名稱而導(dǎo)致的錯誤。
正常函數(shù)和匿名函數(shù)的比較
讓我們根據(jù)以下程序比較正常函數(shù)和匿名函數(shù)。
function( ) { 執(zhí)行的代碼 }
正常的函數(shù)(命名的函數(shù))
代碼如下
<!DOCTYPE html> <html> <head> <meta charset = "utf-8"> <title>JavaScript</title> </head> <body> <script> function sum(a,b){ var result = a + b; return result; } var answer = sum(1,2); console.log(answer); </script> </body> </html>
使用console.log調(diào)用時,根據(jù)參數(shù)1和2 輸出“3”。
匿名函數(shù)
接下來我們用匿名函數(shù)來編寫相同函數(shù)
代碼如下
<script> var sum = function (a,b){ var result = a + b; return result; } var answer = sum(1,2); console.log(answer); </script>
在一個命名的函數(shù)中,我們首先定義函數(shù)sum,我們稍后將sum指定給變量answer,并使用參數(shù)1和2調(diào)用。
相反,在匿名函數(shù)中,在變量中可以直接輸入函數(shù)的定義,因此,能夠?qū)⒑瘮?shù)定義本身存儲在變量中也是匿名函數(shù)的優(yōu)點。
結(jié)果是一樣的
最后,我們來看看立即執(zhí)行函數(shù)的用法
立即函數(shù)是一個立即執(zhí)行函數(shù)表達式,在英語中稱為IIFE(立即調(diào)用函數(shù)表達式)。
立即函數(shù)被定義后立即執(zhí)行。
因此,它被稱為立即執(zhí)行功能。
使用立即函數(shù),只要定義函數(shù)就可以立即執(zhí)行。
局部變量在函數(shù)中聲明,并在整個聲明的函數(shù)中使用。
全局變量是在全局范圍內(nèi)聲明的變量,因此它們可以在JavaScript程序中的任何位置使用。
例如,全局變量在函數(shù)外部聲明,那么它既可以在函數(shù)內(nèi)部使用也可以在外部使用。
我們下面來看立即函數(shù)的示例
var聲明一個變量,從functions開始的函數(shù)定義本身就可以立即執(zhí)行。
代碼如下
<script> var sum = (function (a,b){ var result = a + b; return result; })(1,2); console.log(sum); </script>
我們通過立即給函數(shù)定義提供參數(shù)來執(zhí)行它。
到目前為止,我們已將函數(shù)sum分配給變量answer并傳遞參數(shù)。將其省略為變量answer,這意味著你可以將參數(shù)直接傳遞給已定義的函數(shù)并執(zhí)行內(nèi)容。
由于你不需要使用var answer = sum(1,2);來調(diào)用該函數(shù),因此該程序非常流暢。
運行結(jié)果如下:結(jié)果也是3
以上是JavaScript中立即執(zhí)行函數(shù)的使用方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。