博客列表 >ES6函数知识大全,实例演示箭头函数——颠覆代码结构...

ES6函数知识大全,实例演示箭头函数——颠覆代码结构...

张福根一修品牌运营
张福根一修品牌运营原创
2020年11月05日 14:51:304349浏览

函数的所有形式,含ES6箭头函数,全部实例演示

实例展示:

函数

实例源码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>函数的所有形式,特别是rest/spread, 箭头函数,全部实例演示</title>
  7. </head>
  8. <body>
  9. <script>
  10. // 1. 函数的声明和调用
  11. // 声明
  12. function demo1() {
  13. console.log("函数名: ", demo1.name);
  14. }
  15. // 调用
  16. demo1();
  17. // =============================================================
  18. console.log("------------------------");
  19. // 2. 函数的参数
  20. function demo2(name) {
  21. console.log("Wellcome to ", name);
  22. }
  23. demo2("我们心中在家");
  24. // 默认参数, es6支持
  25. function demo3(status = 1) {
  26. let message;
  27. message = status === 1 ? "success" : "fail";
  28. console.log(message);
  29. }
  30. // 默认
  31. demo3();
  32. // 参数为0
  33. demo3(0);
  34. console.log("------------------------");
  35. // 剩余参数: 使用剩余运算符, ...name
  36. // ...rest: 将剩余参数全部打包到一个数组变量中
  37. function sum(...arr) {
  38. let res = 0;
  39. for (let v of arr) {
  40. res += v;
  41. }
  42. console.log("resule = ", res);
  43. }
  44. sum(1, 2);
  45. sum(1, 2, 3);
  46. sum(1, 2, 3, 4, 5, 6, 7);
  47. console.log("------------------------");
  48. // 展开运算符
  49. // 通过接口, 外部请求, 或其它来源,接收到一个数组
  50. // 当参数不可预测的时候,就用它
  51. let data = [99, 55, 77, 87, 34, 67];
  52. // ...spread: 将数组展开成一个个独立的单元
  53. sum(...data);
  54. function show(strings, ...args) {
  55. console.log(strings);
  56. console.log(args);
  57. }
  58. let num = 20;
  59. let price = 15;
  60. let type = "手机";
  61. let res = show`商品数量: ${num} 单价: ${price} 品类: ${type} 总计: ${
  62. num * price
  63. }`;
  64. // =============================================================
  65. console.log("------------------------");
  66. // 3. 函数的返回值
  67. // 单值原则: 函数只能返回一个值
  68. function demo4() {
  69. return "Hello php.cn";
  70. }
  71. console.log(demo4());
  72. // 返回多个值,就必须要使用:引用类型, 对象,数组
  73. // 返回对象
  74. function demo5() {
  75. return {
  76. status: 1,
  77. message: "成功",
  78. };
  79. }
  80. console.log(demo5(), typeof demo5());
  81. // 返回数组 Array.isArray
  82. function demo6() {
  83. return [
  84. { id: 1, name: "admin" },
  85. { id: 2, name: "peter" },
  86. ];
  87. }
  88. console.log(demo6(), Array.isArray(demo6()) ? "数组" : "不是数组");
  89. console.log(demo6()[1].name);
  90. // =============================================================
  91. console.log("------------------------");
  92. // 4. 函数表达式: 当成匿名函数,用在回调方法
  93. // 匿名函数,没有名字,通过把它赋值给一个变量,来引用它
  94. let demo7 = function () {};
  95. console.log(typeof demo7);
  96. // =============================================================
  97. console.log("------------------------");
  98. // 5. 箭头函数: es6才有,简化"函数表达式"
  99. let demo8 = function (name) {
  100. console.log("Hello %c%s", "color:red", name);
  101. };
  102. // 将它改造成:箭头函数
  103. // 删除function , 在参数列表与大括号之间添加一个"=>", 胖箭头
  104. demo8 = (name) => {
  105. console.log("Hello %c%s", "color:red", name);
  106. };
  107. // 如果没有参数,也必须加上一对"()"
  108. demo8 = () => {
  109. let name = "朱老师";
  110. console.log("Hello %c%s", "color:red", name);
  111. };
  112. // 如果函数体只有一行代码,可以省略掉:{}
  113. demo8 = (name) => console.log("Hello %c%s", "color:red", name);
  114. // 如果有多行代码,函数体的大括号不能省略
  115. demo8("猪八戒天蓬大人");
  116. // 箭头函数中没有自己的this
  117. </script>
  118. </body>
  119. </html>

实例总结:

1、函数的声明和调用
2、函数的参数
  • …rest: 将剩余参数全部打包到一个数组变量中
  • …spread: 将数组展开成一个个独立的单元
3、函数的返回值
  • 单值原则: 函数只能返回一个值
  • 返回多个值,就必须要使用:引用类型, 对象,数组
4、函数表达式: 当成匿名函数,用在回调方法
  • 匿名函数,没有名字,通过把它赋值给一个变量,来引用它
5、箭头函数: es6才有,简化”函数表达式”
  • 删除function , 在参数列表与大括号之间添加一个”=>”, 胖箭头
  • 如果没有参数,也必须加上一对”()”
  • 如果函数体只有一行代码,可以省略掉:{}
  • 如果有多行代码,函数体的大括号不能省略
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议