Blogger Information
Blog 30
fans 0
comment 0
visits 13899
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
函数参数与返回值、模板字面量与模板函数
天宁
Original
407 people have browsed it

函数的参数与返回值

参数不足:默认参数
  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. }

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

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post