Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
1、函数的形参数量与实参数量对应
let fn = (a , b) => a + b;
console.log(fn(1 , 2));
2、函数的形参数量与实参数量不对应
(1)实参少于形参
let fn = (a , b) => a + b;
console.log(fn(10));
使用默认参数
//默认参数=0
let fn = (a , b=0) => a + b;
console.log(fn(1));
console.log(fn(1,2));
//默认参数不为0
let fn = (a , b=1) =>a + b;
console.log(1);
(2)实参多于形参
let fn = (a , b) => a + b;
console.log(fn(1,2,3,4,));
无法接受到全部的参数,这里我们需要用剩余参数’…‘
1)剩余参数的使用方法一
let fn = (a , b , ...c) => console.log(a,b,c);
fn(1,2,3,4,5);
//这里最终是将多出来的参数都压入到数组c中去了
2)剩余参数用在参数调用时的实参中就是解包、打散
let arr = [1,2,3,4,5];
console.log(...arr);
3)通过剩余参数接收全部参数
fn = (...arr) => arr.reduce((a,c)=>a + c);
console.log(1,2,3,4,5,6,7,8,9);
3、函数返回值
函数只能有一个返回值,默认单值返回,那么我们需要返回多个值怎么办?我们可以利用数组和对象,但是本质上任然返回的是一个值,只不过这是一个引用类型的复合值。
let fn = () => [1 , 2 , 3];
let arr = fn();
console.log(arr);
let fn1 = () =>(
{
id:2,
name:'admin',
age:25,
}
);
let result = fn1();
console.log(result);
1、模板字面量
//反引号:模板字面量,支持在字符串插入变量、表达式
let name = '张三';
console.log(`Hello ${name}`);
let gender = 1;
console.log(`${gender?`男:${name}`:'女'}`);
2、模板函数
// 模板函数的参数:
// 第一个参数: 模板字面量中的"字符串字面晨"
// 第二个参数: 模板字面量中的"插值"数组
calc`数量: ${10}单价: ${500}`;
function calc(strings, ...args) {
console.log(strings);
console.log(args);
console.log(args[0] * args[1]);
}