函數(shù)是可重復使用的代碼塊。
可以把它想象成一個小機器,輸入一些東西(參數(shù)),然后輸出一些東西(返回值)。
如何定義和調用函數(shù)?
定義一個函數(shù)很簡單,你可以使用 function
關鍵字。下面是一個簡單的例子:
// 定義一個函數(shù) function sayHello() { console.log('Hello, world!'); } // 調用這個函數(shù) sayHello();
在這個例子中,我們定義了一個名為 sayHello
的函數(shù),它會在被調用時打印出 "Hello, world!"。
注意這里,使用大括號{}包裹了函數(shù)里的代碼。
初學者要仔細前面提過的,JavaScript 區(qū)分大小寫,所以這里是全小寫的function
。
參數(shù)和返回值
函數(shù)可以接受參數(shù),也可以返回值。
參數(shù)是你傳遞給函數(shù)的輸入,而返回值是函數(shù)的輸出。
來看一個例子:
// 定義一個帶參數(shù)的函數(shù) function add(a, b) { return a + b; } // 調用這個函數(shù),并傳遞參數(shù) let result = add(5, 3); console.log(result); // 輸出 8
在這個例子中,add
函數(shù)接受兩個參數(shù) a
和 b
,并返回它們的和。
在使用 add
函數(shù)時,為這個函數(shù)傳入?yún)?shù)值 5 和 3,并得到返回結果 8。
參數(shù)的類型
參數(shù)本質上按值傳遞給函數(shù),因此,即使函數(shù)里面的代碼給傳遞給函數(shù)的參數(shù)賦了新值,這個改變也不會反映到全局或調用該函數(shù)的代碼中。
但是如果將對象作為參數(shù)傳遞,而函數(shù)改變了這個對象的屬性,這樣的改變對函數(shù)外部是可見的。
來看一個例子:
function myFunc(theObject) { theObject.name = "Apple"; } const fruit = { name: "Orange", location: "Jiangxi", star: 5, }; console.log(fruit.make); // "Orange" myFunc(fruit); console.log(fruit.make); // "Apple"
在這個例子中,myFunc
函數(shù)改變了對象的 name 值,這個改變反應到了變量 fruit
中。
如果將數(shù)組作為參數(shù)傳遞,而函數(shù)改變了這個數(shù)組的值,這樣的改變對函數(shù)外部也同樣可見。
來看一個例子:
function myFunc(theArr) { theArr[0] = 30; } const arr = [45]; console.log(arr[0]); // 45 myFunc(arr); console.log(arr[0]); // 30
在這個例子中,myFunc
函數(shù)改變了數(shù)組一個數(shù)的值,這個改變同樣反應到了數(shù)組 arr
中。
一個例子
定義函數(shù):使用 function
關鍵字,后面跟著函數(shù)名和小括號。小括號中包含參數(shù),多個參數(shù)用逗號分隔。函數(shù)體用大括號 {}
包裹。
調用函數(shù):直接使用函數(shù)名加上小括號。如果函數(shù)有參數(shù),在小括號中傳遞相應的參數(shù)值。
參數(shù):參數(shù)是函數(shù)的輸入,可以在定義函數(shù)時指定。在調用函數(shù)時傳遞實際的值。
返回值:使用 return
關鍵字返回函數(shù)的輸出。如果函數(shù)沒有 return
語句,通常理解為這個是一個沒有返回的函數(shù),但實際上它會返回 undefined
。
再來看一個稍微復雜一點的例子:
// 定義一個函數(shù),計算圓的面積 function calculateArea(radius) { if (radius <= 0) { return 'Radius must be greater than zero'; } return Math.PI * radius * radius; } // 調用這個函數(shù) let area = calculateArea(5); console.log(area); // 輸出 78.53981633974483
在這個例子中,calculateArea
函數(shù)接受一個參數(shù) radius
,并返回圓的面積。
如果傳遞的半徑小于等于 0,函數(shù)會返回一個錯誤消息。
總結
該文章在 2024/10/19 12:22:25 編輯過