欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 函數 默認 參數

錢良釵1年前8瀏覽0評論
JavaScript是一種廣泛應用于前端開發的腳本語言,其中函數是代碼重用的關鍵部分。缺省參數是Javascript中有趣的特性之一,它使代碼更簡潔且易于讀取。 制定函數時,您可以指定參數的默認值。這意味著,如果執行函數時沒有提供該參數,則會使用默認值。默認參數的使用很簡單,而且可以減少源代碼的數量,讓您的代碼更具可讀性。來看下面的例子:
function greet(name = 'World') {
console.log('Hello, ' + name + '!');
}
greet(); //輸出 "Hello, World!"
greet('Walter'); //輸出 "Hello, Walter!"
在上面的代碼中,如果調用函數時沒有提供name參數,則參數將會被設為"default"。這種情況下,"World"是默認參數。 當有許多函數參數時,您可以提供默認值以便更容易處理一組可選參數。以下代碼示例展示了這一點:
function logDetails(name, age = 25, gender = 'male', profession = 'unemployed') {
console.log('Name:', name);
console.log('Age:', age);
console.log('Gender:', gender);
console.log('Profession:', profession);
}
logDetails('John'); //輸出 Name: John Age: 25 Gender: male Profession: unemployed
logDetails('Lisa', 30, 'female', 'designer'); 
//輸出 Name: Lisa Age: 30 Gender: female Profession: designer
在上面的代碼中,第一個參數name是必需的,但是對于其他參數,如果不進行傳遞,將會使用默認的25歲、男性、無業。這些默認值只在調用函數時使用。 在ES5中,模擬默認參數值是通過檢查undefined值來完成的。以下代碼示例展示了這一點:
function add(a, b) {
if (typeof b === 'undefined') {
b = 0;
}
return a + b;
}
add(1, 2); //輸出 3
add(1); //輸出 1
但是,在ES6中,通過提供默認值語法使其變得更加簡單:
function add(a, b = 0) {
return a + b;
}
add(1, 2); //輸出 3
add(1); //輸出 1
使用默認名稱的缺省參數也是可行的。以下代碼示例展示了這一點:
function greet(name = 'World', salutation = `Hello,`) {
console.log(`${salutation} ${name}!`);
}
greet(); //輸出 "Hello, World!"
greet('Louisa', 'Hi,'); //輸出 "Hi, Louisa!"
由于在第一個函數調用中不提供salutation參數,所以將會使用默認值“Hello,”,而在第二個函數調用中使用了新的值“Hi,”。 默認參數名可以引用前一個參數。以下代碼示例展示了這一點:
function argUsage(a, b = a + 1) {
console.log(`a is ${a}, b is ${b}`);
}
argUsage(0); //輸出 "a is 0, b is 1"
argUsage(3, 4); //輸出 "a is 3, b is 4"
argUsage(); //輸出 "a is undefined, b is NaN"
代碼中,如果調用函數時沒有傳遞參數a,則a保持為undefined,b作為根據a的默認值計算而來的 NaN。 在ES6之前,制定默認參數的主要方法是使用 || 或三元運算符。以下代碼示例演示了這一點:
function multiply(a, b) {
a = a || 1;
b = b || 1;
return a * b;
}
multiply(2, 3); //返回 6
multiply(2); //返回 2
multiply(); //返回 1
如果未提供參數,則 || 運算符使用默認值。 在上面的例子中, || 運算符僅在未傳遞任何參數時與0值參數混淆。此外,因為0是一個有效的數字,所以我不能使用它作為默認值。同樣的限制適用于空字符串和布爾值false。 三元運算符可以使用單行表達式更緊湊地完成默認參數。以下代碼示例展示了這一點:
function multiply(a, b) {
a = (typeof a !== 'undefined') ? a : 1;
b = (typeof b !== 'undefined') ? b : 1;
return a * b;
}
multiply(2, 3); //返回 6
multiply(2); //返回 2
multiply(); //返回 1
使用默認名稱的缺省參數也是可行的。以下代碼示例展示了這一點:
function greet(name = 'World', salutation = `Hello,`) {
console.log(`${salutation} ${name}!`);
}
greet(); //輸出 "Hello, World!"
greet('Louisa', 'Hi,'); //輸出 "Hi, Louisa!"
由于在第一個函數調用中不提供salutation參數,所以將會使用默認值“Hello,”,而在第二個函數調用中使用了新的值“Hi,”。 在編寫函數時使用默認參數,可以使得代碼更加簡潔且易于維護。無需將代碼復雜化只是為了處理可選參數,使用默認參數的方式非常便捷且直觀。通過控制參數的默認值,您可以更好地掌控如何使用自己的函數,也讓其他人更易于閱讀和調用函數。