函数的参数与返回值

参数不足:默认参数
  1. //调用时若参数b没有,则使用默认的0
  2. f = (a, b = 0) => a + b;
  3. console.log(f(10, 5));
参数过多: …剩余参数
  1. f = (a, b) => a + b;
  2. console.log(f(1, 2, 3, 4, 5));
  3. // 如何将全部参数接收到? 剩余参数 ...
  4. // ...rest: 用在函数的形参中,归并
  5. f = (a, b, ...c) => console.log(a, b, c);
  6. // 将多出来的3,4,5压入到数组c中
  7. f(1, 2, 3, 4, 5);
将一个数组打散,变成一个个离散的值,解包
  1. let arr = [1, 2, 3, 4, 5];
  2. // 将一个数组打散,变成一个个离散的值
  3. console.log(...arr);
  4. // 与下面这条语句功能一样
  5. console.log(f(1, 2, 3, 4, 5));
  6. // ...用在参数调用时的实参中,是解包,打散
  7. // f = (a, b, c, d, e, f) => a + b + c + d + e + f;
  8. f = (...arr) => arr.reduce((a, c) => a + c);
  9. console.log(f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
返回值

函数只能有一个返回值,默认单值返回,需要返回多个值,使用数组,对象来解决
本质 上仍然返回一个值,只不过这是一个引用类型的复合值

  1. //数组的方式
  2. let fn = () => [1, 2, 3];
  3. let res = fn();
  4. console.log(res);
  5. //对象的方式
  6. fn = () => ({
  7. id: 2,
  8. name: 'admin',
  9. age: 28,
  10. });
  11. res = fn();
  12. console.log(res);

对象字母量的简化

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

模板字面量与模板函数

模板字面量
  • 反引号:模板字面量, 支持在字符串插入变量/表达式: 插值

    1. console.log(`Hello world`);
    2. let name = '猪老师';
    3. console.log('hello ' + name);
  • 变量/表达式: 在模板字面量,使用 ‘${xxx}’来引用,就是一个占位符
    1. console.log(`hello ${name}`);
    2. let gender = 1;
    3. console.log(`${gender ? `男:${name}` : `女`}`);
模板函数

使用模版字面量为参数的函数

  1. calc`数量: ${10}单价: ${500}`;
  2. // 模板函数的参数:
  3. // 第一个参数: 模板字面量中的"字符串字面量"
  4. // 第二个参数: 模板字面量中的"插值"数组
  5. function calc(strings, ...args) {
  6. console.log(strings);
  7. console.log(args);
  8. console.log(args[0] * args[1]);
  9. }

模板字面量:可以使用插值表达式的字符串
模板函数: 可以使用”模板字面量”为参数的函数
模板函数,就是在”模板字面量”之前加一个标签/标识符,而这个标签,就是一个函数名
模板函数的参数是有约定的, 不能乱写, 第一个是字面量数组,从第二起才是内部的占位符参数
模板字面量, 也叫”模板字符串” , 是同义词,我觉得用”模板字面量”更直观,准确
模板函数, 有的书也翻译与”标签函数”, 因为 它使用”模板字面量”做参数,称为”模板函数”更直观,必须传一个模板字面量当参数

更多相关文章

  1. 函数参数与返回值 、模板字面量及模板函数(标签函数)
  2. 函数参数,返回值与模板字面量,模板函数
  3. 函数的参数和返回值问题以及模板字面量和模板函数
  4. 实例演示函数参数与返回值、演示模板字面量与模板函数
  5. 1. 实例演示函数参数与返回值 2. 实例演示模板字面量与模板函数
  6. 实例演示函数参数与返回值、演示模板字面量与模板函数
  7. Android(安卓)ExpandableListView显示模板
  8. 模板字面量与模板函数实例
  9. javascript-基础(二)

随机推荐

  1. MYSQL学习笔记(三)
  2. mysql在组通过之前获得顺序
  3. mysql数据备份恢复和导入
  4. 如何将frm格式MYD格式MYI格式文件导入MyS
  5. 在C#.net的server explorer 上建立的数据
  6. 有人用过查询分析器里的TSQL调试程序吗?
  7. MySQL锁机制及优化
  8. MySQL存储过程简介
  9. 【原创】Mysql中select的正确姿势
  10. 利用闪回恢复MySQL误操作数据-DML