ASCII码 ASCII码

函数参数与返回值,模板字面量与模板函数

发布于:2022-05-03 12:40:11  栏目:技术文档

1.函数参数与返回值

  1. let f = (a,b)=>a+b;
  2. console.log(f(1,2)); // 3
  3. console.log(1); // NaN : not a number
  4. // 1.参数不足:默认参数
  5. f = (a,b=0)=>a+b; // 默认形参 b = 0
  6. console.log(f(1,2)); // 3
  7. // 2.参数过多: ...剩余参数
  8. f =(a,b)=>a+b;
  9. console.log(f(1,2,3,4)); // 3
  10. // 如何将全部参数接受到?剩余参数 ...
  11. f = (a, b, ...c)=>console.log(a,b,c);
  12. // 将多出来的参数3,4压入到数组c中
  13. console.log(f(1,2,3,4)); //1,2,[3,4]
  14. let arr = [1,2,3,4,5];
  15. //将一个数组打散,变成一个个离散的值,解包
  16. console.log(...arr); // 1,2,3,4,5
  17. // 压包
  18. console.log(f(...arr)); // 1,2,[3,4,5]
  19. //多个参数求值
  20. // f = (a,b,c,d,e,f)=>a+b+c+d+e+f ,* / - 可以举一反三
  21. f = (...arr) => arr.reduce((a,c)=>(a+c)) // a+c a*c a/c a-c
  22. console.log(f(1,2,3,4,5,6,7,8,9,10));
  23. //返回值:函数只能有一个返回值,默认单值返回
  24. //需要返回多个值怎么办?数组,对象
  25. //本质上仍然返回一个值,只不过这是一个引用类型的复合值
  26. // function fn() {
  27. // return [1,2,3];
  28. // }
  29. // 对象和函数的{}重复冲突时,可({})这样来书写
  30. fn = () =>({
  31. id:2,
  32. name:'admin',
  33. age:18
  34. })
  35. res = fn();
  36. console.log(res);

2 .模板字面量与模板函数

  1. //模板都是用``反引号
  2. // 1.模板字面量
  3. // 反引号:模板字面量, 支持在字符串插入变量/表达式: 插值
  4. // 变量/表达式: 在模板字面量,使用 '${xxx}'来引用,就是一个占位符
  5. let name = "通天教主";
  6. console.log(`Hello ${name}`); // Hello 通天教主
  7. // 模板函数
  8. // 使用模板字面量为参数的函数
  9. // alert("Hello php.cn");
  10. // alert`Hello php.cn`;
  11. calc`数量:${10}单价:${50}`;
  12. // 模板函数的参数:
  13. // 第一个参数: 模板字面量中的"字符串字面晨"
  14. // 第二个参数: 模板字面量中的"插值"数组
  15. function calc(strings, ...args) {
  16. // string返回数组为什么会有个空格呢?
  17. console.log(strings); // ['数量:', '单价:', ''] 为什么会有个空格呢?
  18. console.log(args); // [10, 50]
  19. console.log(args[0] * args[1]); // 500
  20. }
  21. // * 模板字面量: 可以使用插值表达式的字符串
  22. // * 模板函数: 可以使用"模板字面量"为参数的函数
  23. // * 模板函数,就是在"模板字面量"之前加一个标签/标识符,而这个标签,就是一个函数名
  24. // * 模板函数的参数是有约定的, 不能乱写, 第一个是字面量数组,从第二起才是内部的占位符参数

老师,请教我一下,为什么模板函数的字面量数组返回会有一个空格呢?

相关推荐
阅读 +