Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>函数参数与返回值</title>
</head>
<body>
<script>
let f = (a, b = 10) => a + b;
// 1.有实参,计算传入的实参
console.log(f(20, 30));
// 2.实参不足,默认值解决计算
f = (a, b = 10) => a + b;
console.log(f(20));
// 3.参数过多,...剩余参数
f = (a, b = 10) => a + b;
console.log(f(20, 30, 50, 60, 70));
console.log("-------------");
// 接收全部参数
f = (a, b, ...c) => console.log(a, b, c);
//20 30 (3) [50, 60, 70]
// ...rest:用在函数的形参中,归并
console.log(f(20, 30, 50, 60, 70));
console.log("---------------");
let arr = [1, 3, 5, 7, 9];
// 将一个数组打散,变成一个一个离散的值
console.log(...arr);
console.log("---------------");
// 以下两句语句功能一样
console.log(f(...arr));
console.log(f(20, 30, 50, 60, 70));
// 参数过多时计算
f = (...arr) => arr.reduce((a, c) => a + c);
console.log(f(20, 30, 50, 60, 70));
// 返回值:函数只能有一个返回值,默认单值返回
// 多值返回:用数组、对象返回复合值
// function fn() {
// return [1, 2, 3];
// }
// 简化以上函数
let fn = () => [1, 2, 3];
let res = fn();
console.log(res);
// 对象
function fnn() {
return {
id: 1,
name: "admin",
};
}
res = fnn();
console.log(res);
console.log("-------------");
// 对象:这里简化的对象和函数一样,对象必须要用括号括起来
fnn = () => ({
id: 1,
name: "admin",
});
res = fnn();
console.log(res);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>模板字面量与模板函数</title>
</head>
<body>
<script>
// 1.模板字面量:可以使用插值表达式的字符串,也叫模板字符串
console.log("hell world");
// 反引号:支持在字符串中插入变量/表达式:插值
console.log(`hell world`);
let name = "李老师";
console.log("hell " + name);
// 以下和以上相同,在模板字面量中,使用${变量名}来引用
console.log(`hell ${name}`);
let gender = 1;
console.log(`${gender ? `男教师:${name}` : `女`}`);
// 2.模板函数:可以使用'模板字面量'为参数的函数,也叫标签函数
// alert("hello php.cn");
// alert`hello php.cn`;
// 模板函数,就是在模板字面量之前加一个标签/标识符,而这个标签,就是一个函数名,例如下面的"calc"
calc`数量:${10},单价:${500}`;
// 模板函数的参数有约定,第一个时字面量数组,从第二个起才是内部的占位符参数
function calc(strings, ...args) {
console.log(strings);
console.log(args);
console.log(args[0] * args[1]);
}
</script>
</body>
</html>