JavaScript function 是在 JavaScript 中經常被使用的一個常規組件,通俗的來講,它們是由一系列可重復使用的代碼塊組成的,這樣可以用更少的代碼來完成一些復雜的功能。Function 可以接收參數,也可以不接收參數,可以返回值,也可以不返回值。
語法如下:
function functionName(parameter1, parameter2, parameter3) { // 代碼塊 return result; }
其中,functionName 為函數的名稱,括號中為函數的參數。代碼塊中為函數所要執行的代碼,最后的 result 為函數的返回值。
下面是一個例子,展示了如何定義一個接收兩個參數并返回它們相乘結果的函數:
function multiply(num1, num2) { return num1 * num2; }
以上函數將兩個數字相乘,然后返回結果。接下來我們可以直接調用該函數來得到其返回值,比如:
var result = multiply(5, 10); console.log(result); // 50
上述代碼將打印出 50,即 5 * 10的結果。
函數的另一個常見用途是進行事件處理。下面是一個簡單的例子,展示了如何定義一個點擊按鈕時彈出 "Hello World" 的函數:
function sayHello() { alert("Hello World"); }
以上函數可以在按鈕被點擊時,調用該函數,從而使 "Hello World" 這個彈窗出現。下面是 HTML 代碼:
<button onclick="sayHello()">Click Me</button>
當按鈕被點擊時,sayHello()函數被調用,生成 "Hello World" 的彈窗。
到這里,我們已經了解了 JavaScript function 的基本語法和用途,接下來我們將學習一些更為復雜的用法。
首先,JavaScript function 可以被用作參數。下面的例子展示了如何將一個 function 作為參數傳遞給另一個 function,并在第一個 function 中被調用:
function showMessage(message) { alert(message); } function sayHello() { var message = "Hello World"; showMessage(message); } sayHello();
以上代碼將調用 sayHello() 函數,在該函數中,我們定義了一個 message 變量并將 "Hello World" 賦值給它。接著,我們調用 showMessage() 函數并將 message 變量作為參數傳遞給它。最終,彈出的彈窗顯示了 "Hello World"。
函數也可以返回另一個函數,這種技術被稱為 "閉包"。下面是一個例子,展示了如何定義一個返回另一個函數的函數:
function createCounter() { var count = 0; return function() { count++; return count; }; } var counter = createCounter(); console.log(counter()); // 1 console.log(counter()); // 2 console.log(counter()); // 3
以上代碼中的 createCounter() 函數定義了一個變量 count,并返回另一個函數。該函數將實現計算器的功能,每次調用時都將 count 加 1,然后返回新的值。
在主程序中,我們定義了一個 counter 變量,并將 createCounter() 函數的返回值賦值給了它。然后,我們連續調用了 counter() 函數三次,并分別打印了它的返回值。最終,輸出為 1、2 和 3。
本文介紹了 JavaScript function 的語法、用途和一些高級技術,這些技術可以讓我們用更簡單的代碼完成更復雜的功能。