函數的聲明方式

1、關于函數的聲明方式

1.1、ES5

在ES5中,我們常用的函數聲明方式有兩種。
第一種:

<script type="text/javascript">
        function fun(){
            
        }
    </script>

這種方法是我們最常見的,也是學校中老師最先教的方式,這里的fun是函數名,由自己決定。

第二種:

<script type="text/javascript">
        var fun = function(){
            
        }
    </script>

這種方法不太常見,但是應該也有見過,那么這兩種方式有什么區別嗎?

有的
當我們使用函數表達式的方式來聲明函數的時候,也給了函數名,這個函數名是不能夠在函數體外進行調用,只能在函數體內調用的。
可能這樣說有些抽象,舉個例子:

<script type="text/javascript">
        fun1();
        function fun1(){
            console.log(1)
        }
        fun();
        var fun = function(){
            console.log(2)
        }
    </script>

在這個例子中,fun1()不會受到聲明位置的影響,而fun則會報錯,因為在這個例子中,fun()是以聲明變量的形式聲明,而變量必須先聲明才能調用,所以使用第二種方式聲明的話就只能在函數體調用函數名。

1.2、ES6

在ES6中,新增了一種叫箭頭函數的聲明方式,看下方↓↓↓

<script type="text/javascript">
        var fun = ((parameter) => {
            console.log(parameter)
        })
    </script>

箭頭函數需要使用變量來記錄函數才能在函數外調用,否則只能使用立即執行函數進行調用,例如:

<script type="text/javascript">
        var fun = ((parameter) => {
            console.log(parameter)
        })(66)
    </script>

箭頭函數有3種聲明方式,如下:
第一種:

<script type="text/javascript">
        var fun = ((parameter) => {
            console.log(parameter)
        })
    </script>

第二種:

<script type="text/javascript">
        var fun = (parameter => {
            console.log(parameter)
        })
    </script>

第三種:

<script type="text/javascript">
        var fun = (parameter => 
            console.log(parameter)
        )(66)
    </script>
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 函數和對象 1、函數 1.1 函數概述 函數對于任何一門語言來說都是核心的概念。通過函數可以封裝任意多條語句,而且...
    道無虛閱讀 4,635評論 0 5
  • function 函數的聲明方式 普通函數的聲明 使用變量初始化函數 使用 function 構造函數 作為值的函...
    程咸菜閱讀 689評論 0 1
  • 函數參數的默認值 基本用法 在ES6之前,不能直接為函數的參數指定默認值,只能采用變通的方法。 上面代碼檢查函數l...
    呼呼哥閱讀 3,455評論 0 1
  • 1、兩種函數聲明方式的區別 函數直接聲明:這也是用的最多的。 函數表達式聲明: 2、變量作用域 在js中,變量作用...
    eagleow閱讀 100評論 0 0
  • 函數參數的默認值 基本用法 在ES6之前,不能直接為函數的參數指定默認值,只能采用變通的方法。 上面代碼檢查函數l...
    陳老板_閱讀 457評論 0 1