自定義函數是JavaScript中最基本、最常用的一種函數類型。在JavaScript中,我們可以通過直接將一個函數賦值給某個變量或通過function關鍵字來定義一個函數。自定義函數既可以用于簡單的計算任務,也可以用于實現更為復雜的邏輯控制。
舉個例子,假設我們需要計算一組數的和。我們可以使用以下代碼:
function add(num1, num2) { return num1 + num2; } var sum = add(10, 20); document.write(sum);
這個代碼中,我們定義了一個add函數,接收兩個參數,返回它們的和。調用函數時,我們傳入10和20兩個數字作為參數,將返回的結果賦值給sum變量。最后,我們使用document.write函數將結果輸出到頁面。
自定義函數還可以嵌套使用。假設我們需要計算一個人的BMI(Body Mass Index,身體質量指數)。它可以通過以下公式計算:
BMI = weight / (height * height)
其中,weight表示體重(單位:千克),height表示身高(單位:米)。我們可以使用以下代碼實現:
function calculateBMI(weight, height) { function square(num) { return num * num; } return weight / square(height); } var weight = 70; var height = 1.75; var bmi = calculateBMI(weight, height); document.write(bmi);
在這個代碼中,我們定義了一個calculateBMI函數,接收一個體重參數和一個身高參數。在函數內部,我們還定義了一個square函數,用于計算身高的平方。在返回值中,我們將體重除以身高的平方,并將結果返回。最后,我們將調用calculateBMI函數,并將結果輸出到頁面。
除了基本的函數定義和嵌套之外,自定義函數還可以接收不定個數的參數。這可以通過arguments對象實現。arguments對象是一個類似于數組的對象,包含了所有傳入函數中的參數。
假設我們需要計算一組數的平均值。下面是一個實現方式:
function calculateAverage() { var sum = 0; for (var i = 0; i < arguments.length; i++) { sum += arguments[i]; } return sum / arguments.length; } var average = calculateAverage(10, 20, 30, 40, 50); document.write(average);
在這個代碼中,我們定義了一個calculateAverage函數,不接收任何參數。在函數內部,我們使用for循環遍歷arguments對象,累加所有參數的值。最后,我們將累加的結果除以參數的個數,并將結果返回。最后,我們將調用calculateAverage函數,并將結果輸出到頁面。
總之,JavaScript中的自定義函數是實現復雜邏輯的重要工具,可以大大提高開發效率。無論是簡單的計算任務還是復雜的邏輯控制,我們都可以使用自定義函數來實現。