函數是結合在一起執行特定任務的程式碼,函數一般使用參數與外部互動。要編寫簡潔高效的JS程式碼,必須掌握函數參數。
在本文中,會使用一些有趣的例子來解釋 JS 必須有效地處理函數參數的所有特性。
1.函數參數
function sum(param1, param2) { console.log(param1); // 1 console.log(param2); // undefinedreturn param1 + param2; } sum(1); // NaN
呼叫傳入的參數數量應與函數定義參數個數相同,當然傳入參數比定義參數個數少的時候,也不會報錯,缺少會用undefined 代替。
2. 預設參數
function sum(param1, param2 = 0) { console.log(param2); // 0 return param1 + param2; } sum(1); // 1 sum(1, undefined); // 1
如果沒有傳入第二個參數,param2 就預設為 0 。
注意,如果將undefined設定為第二個參數sum(1, undefined), param2也會初始化為0。
3.解構參數
functiongreet({ name }) { return`Hello, ${name}!`; } const person = { name: '前端' }; greet(person); // 'Hello, 前端'
4.arguments 物件
JavaScript 函數有個內建的物件arguments 物件。 argument 物件包含了函數呼叫的參數數組。用這個方式你可以很方便的找到最大的一個參數的值
x = findMax(1, 123, 500, 115, 44, 88); function findMax() { var i, max = arguments[0]; if(arguments.length < 2) return max; for (i = 0; i < arguments.length; i++) { if (arguments[i] > max) { max = arguments[i]; } } return max;}
#5.剩餘參數
將一個不定數量的參數表示為一個陣列
function sumArgs() { console.log(arguments); // { 0: 5, 1: 6, length: 2 } let sum = 0; for (let i = 0; i < arguments.length; i++) { sum += arguments[i]; } return sum; } sumArgs(5, 6); // => 11
推薦:《2021年js面試題目及答案(大匯總)》
以上是JS函數中的幾種參數形式的詳細內容。更多資訊請關注PHP中文網其他相關文章!