Blogger Information
Blog 65
fans 2
comment 0
visits 60211
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
ES6函数知识大全,实例演示箭头函数——颠覆代码结构...
张福根一修品牌运营
Original
4345 people have browsed it

函数的所有形式,含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 , 在参数列表与大括号之间添加一个”=>”, 胖箭头
  • 如果没有参数,也必须加上一对”()”
  • 如果函数体只有一行代码,可以省略掉:{}
  • 如果有多行代码,函数体的大括号不能省略
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:其实箭头函数在其它语言中早已有之, js并非原创, 所以多了解一些其它语言是多么的有意思
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