博客列表 >js-基础(二)函数参数与返回值 、模板字面量与模板函数

js-基础(二)函数参数与返回值 、模板字面量与模板函数

Technology has temperature
Technology has temperature原创
2022年04月20日 14:16:02666浏览

1.函数参数与返回值

  1. // 1. 参数不足: 默认参数
  2. f = (a, b = 0) => a + b;
  3. console.log(f(10, 5));
  4. // 2. 参数过多: ...剩余参数
  5. f = (a, b) => a + b;
  6. console.log(f(1, 2, 3, 4, 5));
  7. // 如何将全部参数接收到? 剩余参数 ...
  8. // ...rest: 用在函数的形参中,归并
  9. f = (a, b, ...c) => console.log(a, b, c);
  10. f(1, 2, 3, 4, 5);
  11. let arr = [1, 2, 3, 4, 5];
  12. // 将一个数组打散,变成一个个离散的值
  13. console.log(...arr);
  14. console.log(f(...arr));
  15. // 与下面这条语句功能一样
  16. console.log(f(1, 2, 3, 4, 5));
  17. // ...用在参数调用时的实参中,是解包,打散
  18. //多个数相加
  19. f = (...arr) => arr.reduce((a, c) => a + c);
  20. console.log(f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
  21. //返回值: 函数只能有一个返回值,默认单值返回
  22. // 需要返回多个值怎么办? 数组,对象
  23. // 本质 上仍然返回一个值,只不过这是一个引用类型的复合值
  24. let fn = () => [1, 2, 3];
  25. fn = () => ({
  26. id: 2,
  27. name: 'admin',
  28. age: 28,
  29. });
  30. // function ssss() {
  31. // return {
  32. // id: 2,
  33. // name: 'admin',
  34. // age: 28,
  35. // };
  36. // }

2.对象字面量的简化后续vue用的比较多

  1. // 1. 属性简化
  2. // 1) 变量name与对象属性同名
  3. // 2) 并处于相同作用域,彼此可见,可以不写变量名
  4. let name = 'aaaa';
  5. user = {
  6. // name: name,
  7. name,
  8. };
  9. console.log(user.name);
  10. // 2. 方法简化
  11. user = {
  12. name,
  13. // getName: function() {
  14. // return 'Hello, ' + this.name;
  15. // },
  16. // 简化方案: 直接将 ": function"删除
  17. getName() {
  18. return 'Hello, ' + this.name;
  19. },
  20. };
  21. console.log(user.getName());

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

  1. //模板字面量
  2. console.log('Hello world');
  3. // 反引号:模板字面量, 支持在字符串插入变量/表达式: 插值
  4. console.log(`Hello world`);
  5. let name = 'aaaa';
  6. console.log('hello ' + name);
  7. // 变量/表达式: 在模板字面量,使用 '${xxx}'来引用,就是一个占位符
  8. console.log(`hello ${name}`);
  9. let gender = 1;
  10. console.log(`${gender ? `男:${name}` : ``}`);
  11. // 模板函数
  12. // 使用模板字面量为参数的参数
  13. // alert('Hello php.cn');
  14. // alert`Hello php.cn`;
  15. calc`数量: ${10}单价: ${500}`;
  16. // 模板函数的参数:
  17. // 第一个参数: 模板字面量中的"字符串字面晨"
  18. // 第二个参数: 模板字面量中的"插值"数组
  19. function calc(strings, ...args) {
  20. console.log(strings);
  21. console.log(args);
  22. console.log(args[0] * args[1]);
  23. }

注意:
模板字面量: 可以使用插值表达式的字符串
模板函数: 可以使用”模板字面量”为参数的函数
模板函数,就是在”模板字面量”之前加一个标签/标识符,而这个标签,就是一个函数名
模板函数的参数是有约定的, 不能乱写, 第一个是字面量数组,从第二起才是内部的占位符参数

模板字面量, 也叫”模板字符串” , 是同义词,我觉得用”模板字面量”更直观,准确
模板函数, 有的书也翻译与”标签函数”, 因为 它使用”模板字面量”做参数,称为”模板函数”更直观, 一看知识必须传一个模板字面量当参数

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议