Function 函数
默认值
1.基本功能
- 如果调用函数时没有提供参数,或者参数是
undefined
,函数将使用默认值
function greet(name = "Guest") {
return "Hello, "+ name
}
logd(greet()); // 输出: Hello, Guest!
logd(greet("Alice")); // 输出: Hello, Alice!
2.默认值可以引用前面的参数
- 默认值可以依赖于前面的参数
function test(a, b = a) {
logd(a,b)
}
test(1) // 输出: 1,1
function createUser(name, role = name === "Admin" ? "Administrator" : "User") {
logd( name, role )
}
createUser("Admin") // 输出: Admin,Administrator
createUser("Alice") // 输出: Alice,User
3.与 arguments
对象的交互
- 默认参数不会影响
arguments
对象
function example(a = 1, b = 2) {
logd(arguments[0]); // 输出: undefined
logd(arguments[1]); // 输出: undefined
logd(a, b); // 输出: 1, 2
}
example();
剩余参数
1. 基本功能
- 剩余参数使用三个点
...
表示,它将所有剩余的参数收集到一个数组中
function sum(...numbers) {
return numbers.reduce((acc, num) => acc + num, 0);
}
logd(sum(1, 2, 3)); // 输出: 6
logd(sum(1, 2, 3, 4, 5)); // 输出: 15
2. 函数的 length
属性
- 函数的
length
属性返回函数期望的参数数量,不包括剩余参数
function example(a, b, ...rest) {
logd(rest);
}
logd(example.length); // 输出: 2
3. 剩余参数与普通参数结合使用
- 剩余参数可以与普通参数一起使用,但剩余参数必须放在最后
function greet(greeting, ...names) {
return greeting + ', ' + names.join(', ')
}
logd(greet("Hello", "Alice", "Bob", "Charlie")); // 输出: Hello, Alice, Bob, Charlie!