如何在 JavaScript 中將函式賦值給變數?


在本教程中,我們將學習如何在 JavaScript 中將函式賦值給變數。函式是可以快速重用的程式碼塊,通常只需進行函式呼叫即可。在 JavaScript 中宣告函式有兩種方法,一種是命名函式,另一種是匿名函式。

大多數 JavaScript 程式設計師都熟悉命名函式,使用者可以按照以下語法宣告命名函式。

function function_name() { //function body }

在上述語法中,使用者可以看到,我們可以使用 function 關鍵字建立函式定義,後跟函式名。

現在,如果我們想將整個函式作為表示式賦值給變數怎麼辦?這裡,我們有兩種不同的方法來實現我們的目標。

  • 建立匿名函式

  • 建立箭頭函式

建立匿名函式

匿名函式名稱表明我們是在宣告函式時不指定其標識,即函式名。

這是將函式賦值給變數的第一種方法。

建立匿名函式作為表示式工作,並在程式碼執行到達函式行時編譯,而命名函式在程式碼執行開始時編譯。

語法

程式設計師可以按照以下語法將匿名函式繫結到變數。

var a = function ( parameters ) {
   // code to be executed
}

在上述語法中,使用者可以看到我們已將匿名函式的表示式賦值給變數“a”。此外,我們可以使用變數“a”呼叫函式並傳遞引數。

示例

在下面的示例中,我們將建立一個匿名函式並將其作為表示式賦值給變數。之後,我們將使用變數呼叫匿名函式。此外,我們將學習如何在匿名函式中傳遞引數。

<!DOCTYPE html>
<html>
<body>
   <h2> JavaScript Anonymous Functions. </h2>
   <p> We could assign the function to a variable</p>
   <div id="func"></div>
   <div id="demo"></div>
   <script>
      var a = function ( x, y ) {
         return x + y;
      }
      let result = a(3, 5);
      document.getElementById("func").innerHTML = "var a = " + a
      document.getElementById("demo").innerHTML = "a(3, 5) = " + result;
   </script>
</body>
</html>

在上述輸出中,使用者可以看到它呈現了使用變數“a”進行函式呼叫返回的結果。

建立箭頭函式

將函式賦值給變數的第二種方法是箭頭函式。它與上述方法類似,但不同之處在於我們將建立一個不使用“function”關鍵字的匿名函式,並使用箭頭代替。

箭頭函式是 JavaScript 中宣告函式的最短語法,它使程式設計師編寫函式的任務更容易。它是 ES6 中引入的匿名函式的最新版本。

程式設計師可以使用var、let 或 const關鍵字建立一個單變數,並將函式表示式賦值給它。但是,建議使用const關鍵字建立變數來賦值函式,因為函式表示式始終保持不變。

語法

使用者可以按照以下語法編寫箭頭函式表示式。

const variable = ( …parameters ) => {
   // function body
}
Variable( parameters ); // invoke the arrow function.

在上述語法中,使用者可以看到我們是如何在不使用 function 關鍵字的情況下宣告箭頭函式表示式的。

示例

在下面的示例中,我們將建立帶引數的箭頭函式。此外,我們將將其賦值給變數並透過變數呼叫它。

<html>
<body>
   <h2> JavaScript Arrow Functions. </h2>
   <div>
   <p> We assign arrow function to a variable func.</p>
   <p id="demo1"> </p>
   <p id="demo2"> </p>
   </div>
   <script>
      let demoOutput = document.getElementById("demo1");
      const func = (x, y, z) => {
         return x + y + z;
      }
      let result = func(10, 502, 340);
      document.getElementById("demo1").innerHTML = "const func =" + func;
      document.getElementById("demo2").innerHTML = "func( 10, 502, 340 ) =" + result;
   </script>
</body>
</html>

在上述輸出中,使用者可以看到,當我們使用變數呼叫箭頭函式時,它會列印箭頭函式返回的任何結果。

結論

我們學習了將函式表示式賦值給變數的兩種不同方法。第一種方法是使用匿名函式,這在 ES5 中也是可能的。在 ES6 中,引入了箭頭函式來建立匿名函式並將其賦值給變數。

建議使用箭頭函式,因為它比匿名函式更簡潔。

更新於:2022年7月14日

24K+ 瀏覽量

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告