最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript聲明函數(shù)的5種方法小結(jié)

 更新時間:2023年02月17日 09:01:34   作者:zayyo  
本文主要介紹了JavaScript聲明函數(shù)的5種方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在編寫JavaScript代碼中,函數(shù)是我們經(jīng)常會寫到的。但是在不同的工程師寫到代碼中,函數(shù)的聲明方式卻都是不盡相同的,那函數(shù)的聲明方式到底有幾種,他們之間有什么區(qū)別呢?我們接下來就來好好說一說

老規(guī)矩我們先從定義下手

function函數(shù),是一個可以被其他代碼或其自身調(diào)用的代碼片段,或者是一個指向該函數(shù)的變量 。當(dāng)函數(shù)被調(diào)用時,參數(shù)被作為輸入傳遞給函數(shù),并且函數(shù)可以返回輸出。在 JavaScript 中,函數(shù)也是一個對象。

函數(shù)名是作為函數(shù)聲明或函數(shù)表達(dá)式的一部分聲明的標(biāo)識符。函數(shù)的作用域取決于函數(shù)名是一個聲明還是表達(dá)式。

聲明函數(shù)的5種方法

1.Function聲明

Function也稱為函數(shù)語句或函數(shù)定義,是 JavaScript 中聲明函數(shù)的最常見方式。

函數(shù)聲明方法只是意味著我們將使用關(guān)鍵字functionfunction后的名稱來聲明函數(shù)。

function foo(){
    console.log('這是一個函數(shù)的打印結(jié)果')
}

在上面中“ function ”是關(guān)鍵字,“foo ”是函數(shù)名。

如果我們想調(diào)用這個函數(shù),我們所要做的就是寫下它的名字,然后加上括號,如下所示:

foo()

函數(shù)可以接受參數(shù)。如果我們的數(shù)據(jù)是動態(tài)的,我們可以向函數(shù)傳遞多個參數(shù)。

假如我們希望在使用foo函數(shù)時,它會根據(jù)我們傳入的參數(shù)值,動態(tài)的打印我們的參數(shù)。

我們可以這樣寫:

function foo(arg){
     console.log('這是我們接收的參數(shù)'+arg)
     console.log(`這是我們接收的參數(shù)${arg}`)
}
foo("zayyo")

2.匿名函數(shù)

匿名函數(shù)顧名思義指的是沒有名字的函數(shù),

匿名函數(shù)僅使用function關(guān)鍵字就可以聲明一個函數(shù)。

function(){
            console.log(`這是一個匿名函數(shù)的打印`)   
}

但是由于匿名函數(shù)在創(chuàng)建后無法訪問,并且只能通過賦值給變量來訪問,因此我們將把它存儲在一個我們稱之為 foo 的變量中,這就是我們將在接下來的內(nèi)容中看到的函數(shù)表達(dá)式。

3.函數(shù)表達(dá)式

函數(shù)表達(dá)式允許我們創(chuàng)建一個沒有任何函數(shù)名的匿名函數(shù)。并且通過聲明一個變量通過賦值來執(zhí)行它。

let foo = function(){
          console.log(`這是一個函數(shù)表達(dá)式的打印`) 
}

在上面的代碼中變量foo存儲了一個匿名函數(shù)。因此,匿名函數(shù)是通過調(diào)用帶有尾隨括號和分號的變量來調(diào)用的。

調(diào)用示例:

let foo = function(){
          console.log(`這是一個函數(shù)表達(dá)式的打印`) 
}
foo()

箭頭函數(shù)

這種方法是創(chuàng)建 JavaScript 函數(shù)的一種更簡潔的方法。 代碼示例:

()=>console.log(`這是一個箭頭函數(shù)的打印`) 

但是,由于箭頭函數(shù)沒有名稱,如果我們要調(diào)用它,它應(yīng)該存儲在一個變量中,就像函數(shù)表達(dá)式一樣。

調(diào)用示例:

let foo = ()=>console.log(`這是一個箭頭函數(shù)的打印`) 
foo()

箭頭函數(shù)為定義匿名函數(shù)提供了簡潔的語法。與其他函數(shù)聲明方式相比,箭頭函數(shù)表達(dá)式的語法更短。

箭頭函數(shù)也可以接收參數(shù):

let foo = (arg)=> console.log('這是我們接收的參數(shù)'+arg)
foo()

創(chuàng)建箭頭函數(shù)時,括號()和花括號{}對于單個函數(shù)參數(shù)和單個語句是可以不寫的。

如果函數(shù)要執(zhí)行的指令很多,那么這些指令應(yīng)該用花括號{}括起來:

let foo =  (number)=>{
        if(number>0){
            console.log('number大于0')
        }else{
            console.log('number小于0')
        }
}

5.構(gòu)造函數(shù)

聲明函數(shù)的另一種方法是使用帶有 new 關(guān)鍵字的 Function 構(gòu)造函數(shù)。

讓我們先看一下語法:

let sum =new Function("a","b","return a+b");

console.log(sum(5,6))

JavaScript 有一個名為 Function 的內(nèi)置構(gòu)造函數(shù)對象,可用于聲明和創(chuàng)建函數(shù)。

此構(gòu)造函數(shù)可以傳遞任意數(shù)量的參數(shù)。在這個例子,我們向它傳遞了 2 個參數(shù),即“ a ”和“ b ”。

最后一個參數(shù)是應(yīng)該傳遞函數(shù)應(yīng)該執(zhí)行的指令的代碼。也就是我們要執(zhí)行的函數(shù)體。

一般語法是:

letfuncName= new Function("arg1","arg2","arg3","arg4","arg5",......,"函數(shù)體")

所以在上面例子中我們使用 Function 對象創(chuàng)建了一個函數(shù)sum()。

哪種方式最好?

這個問題是沒有答案,因為一切都取決于代碼的編寫需求和功能需求。

所以你可以使用任何你想要的方法或函數(shù)類型,它們都會生成相同的效果。

因此,你可以根據(jù)你的個人喜好,隨意選擇你喜歡的任何一種。但是,我建議盡可能堅持使用箭頭函數(shù)類型,因為它提供更好的性能和可讀性。當(dāng)時他也是有缺點的就是在我們使用時要注意他的this指向問題。具體的可以看我這篇文章# 你真的知道JavaScript中的this到底指向的是什么嗎?

到此這篇關(guān)于JavaScript聲明函數(shù)的5種方法小結(jié)的文章就介紹到這了,更多相關(guān)JavaScript聲明函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解JavaScript 事件流

    詳解JavaScript 事件流

    這篇文章主要介紹了JavaScript 事件流的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下
    2020-09-09
  • javascript使用isNaN()函數(shù)判斷變量是否為數(shù)字

    javascript使用isNaN()函數(shù)判斷變量是否為數(shù)字

    javascript中判斷變量是否為數(shù)字的方法,這里主要介紹javascript里的 isNaN() 函數(shù),具體使用如下,感興趣的朋友可以參考下
    2013-09-09
  • BootstrapValidator實現(xiàn)注冊校驗和登錄錯誤提示效果

    BootstrapValidator實現(xiàn)注冊校驗和登錄錯誤提示效果

    這篇文章主要為大家詳細(xì)介紹了Bootstrap Validator實現(xiàn)注冊校驗和登錄錯誤提示效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 網(wǎng)頁前端登錄js按Enter回車鍵實現(xiàn)登陸的兩種方法

    網(wǎng)頁前端登錄js按Enter回車鍵實現(xiàn)登陸的兩種方法

    下面小編就為大家?guī)硪黄W(wǎng)頁前端登錄js按Enter回車鍵實現(xiàn)登陸的兩種方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考
    2016-05-05
  • JavaScript組合拼接字符串的效率對比測試

    JavaScript組合拼接字符串的效率對比測試

    這篇文章主要介紹了JavaScript組合拼接字符串的效率對比測試,本文測試了IE6、Firefox、Mozilla、Netscape、Opera等瀏覽器,需要的朋友可以參考下
    2014-11-11
  • 前端處理文本換行展示4種處理方法

    前端處理文本換行展示4種處理方法

    在處理前端顯示后端傳遞的包含換行符的文本時,可以通過多種方法實現(xiàn)換行顯示,這篇文章主要介紹了前端處理文本換行展示4種處理方法,這些方法幫助前端正確展示格式化文本,解決了文本堆疊的問題,需要的朋友可以參考下
    2024-10-10
  • echarts設(shè)置圖例顏色和地圖底色的方法實例

    echarts設(shè)置圖例顏色和地圖底色的方法實例

    最近項目要使用echarts進(jìn)行數(shù)據(jù)可視化,所以下面這篇文章主要給大家介紹了關(guān)于echarts設(shè)置圖例顏色和地圖底色的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • bootstrap table插件的分頁與checkbox使用詳解

    bootstrap table插件的分頁與checkbox使用詳解

    這篇文章主要為大家詳細(xì)介紹了bootstrap table插件的分頁與checkbox使用詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • JavaScript?中的運算符和表達(dá)式介紹(二)

    JavaScript?中的運算符和表達(dá)式介紹(二)

    這篇文章主要介紹了JavaScript?中的運算符和表達(dá)式介紹,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 學(xué)習(xí)JavaScript設(shè)計模式(接口)

    學(xué)習(xí)JavaScript設(shè)計模式(接口)

    這篇文章主要帶領(lǐng)大家學(xué)習(xí)JavaScript設(shè)計模式,其中重點介紹接口,舉例說明什么是接口,對接口進(jìn)行詳細(xì)剖析,感興趣的小伙伴們可以參考一下
    2015-11-11

最新評論

维西| 江永县| 玉溪市| 南陵县| 榕江县| 海口市| 太仆寺旗| 新安县| 大兴区| 教育| 白水县| 西城区| 青神县| 老河口市| 顺义区| 固安县| 莫力| 巨鹿县| 玉田县| 白朗县| 永靖县| 屏东县| 东乌| 盐源县| 禹城市| 常州市| 朝阳县| 盐津县| 南丰县| 常宁市| 闵行区| 阿拉善左旗| 延安市| 伊宁县| 平和县| 栖霞市| 遂平县| 彭水| 灵川县| 高陵县| 西畴县|