博客列表 >函数参数类型与返回值方法 . 模板字面量与模板函数的声明,参数特点 闭包的形成条件与访问方法

函数参数类型与返回值方法 . 模板字面量与模板函数的声明,参数特点 闭包的形成条件与访问方法

搬砖来学php
搬砖来学php原创
2022年07月23日 21:25:08331浏览

1函数参数类型与返回值

1.当参数不足的时候给与默认值

  1. function nane(hello = "给予默认值") {
  2. return "nane," + hello;
  3. }
  4. console.log(nane("世界"));
  5. // 如果参数不足会显示undefined 需要给函数的参数一个'默认值'
  6. console.log(nane());
  7. // 2.参数过多使用...压入到一个数组中
  8. function nane1(...aaa) {
  9. return aaa;
  10. }
  11. console.log(nane1('名字1', '名字2', '名字3'));
  12. // 求和
  13. let sum = (...arr) => arr.reduce((a, c) => a * c);
  14. console.log(sum(10, 20, 30, 40, 50, 60,70,80,90));


2.属性和方法的简化

  1. // 属性和方法的简化
  2. // 1. 对象属性,如果和外部变量同名,则可以省去值,自动用外部同名变量进行初始化
  3. // 2. 对象方法, 可以将": function "删除,但是要注意, 不要用箭头函数
  4. // let nane = '张三';
  5. // let sex = '男';
  6. // let hobby = '摄影';
  7. // let user = {
  8. // nane,
  9. // sex,
  10. // hobby,
  11. // getUserInfo() {
  12. // return this.nane + ': ' + this.sex +':'+this.hobby;
  13. // },
  14. // };
  15. // console.log(user.nane);
  16. // console.log(user.sex);
  17. // console.log(user.getUserInfo());

模板字面量与模板函数
1.模板字面量得符号使用方法

  1. <script>
  2. console.log ('nane 游戏');
  3. // nane '游戏'这里是字串符
  4. let youxi ='王者荣耀';
  5. // 游戏是 ${youxi}是模板字串符
  6. // 模板字面量要用反引号,变量用大括号括起来,外加$符号
  7. console.log(`游戏是 ${youxi}`);
  8. </script>

2. 模板函数/标签函数
模板函数的声明与普通函数是一样,只不过调用时,使用”模板字面量”做为参数
function total(参数1, 参数2)

  1. function total(strings, ...args) {
  2. console.log(strings);
  3. console.log(args);
  4. }
  5. let name = '手机';
  6. let num = 10;
  7. let price = 500;
  8. total`名称: ${name}, 数量:${num},单价:${price}`;

闭包的形成条件与访问方法

闭包形成得条件 1. 父子函数.2. 子函数中调用父函数中的变量
闭包函数内部可用的三种变量:
1.参数变量: 函数参数列表中声明
2.私有变量: 函数内部声明
3.自由变量: 函数外部声明

  1. <script>
  2. // 闭包
  3. let d = 40; //d是自由变量
  4. let fn = function (a, b) {
  5. //a b是参数
  6. let c = 30; //c 是内部变量
  7. return a * b * c * d;
  8. };
  9. console.log(fn(10, 20));
  10. //闭包的访问方法和简化
  11. fn = function (a) {
  12. let f = function (b) {
  13. // 子函数中调用父函数中的变量
  14. return a + b;
  15. };
  16. return f;
  17. };
  18. let f1 = fn(10);
  19. console.log(f1);
  20. console.log(f1(20));
  21. // -------------
  22. // fn = function (a, b, c) {
  23. // return a + b + c;
  24. // };
  25. // console.log(fn(1, 2, 3));
  26. fn = function (a) {
  27. return function (b) {
  28. return function (c) {
  29. return a + b + c;
  30. };
  31. };
  32. };
  33. console.log(fn(1)(2)(3));
  34. // 使用简化闭包
  35. fn = (a) => (b) => (c) => a + b + c;
  36. console.log(fn(1)(2)(3));
  37. </script>

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