博客列表 >0104 js变量与常量的区别 函数与匿名函数 箭头函数 闭包 高阶函数

0104 js变量与常量的区别 函数与匿名函数 箭头函数 闭包 高阶函数

Allen在php中文网的学习笔记
Allen在php中文网的学习笔记原创
2021年01月05日 10:56:24620浏览

作业内容

作业内容:

  1. 实例演示变量与常量的区别;
  2. 函数与匿名函数的区别
  3. 箭头函数的参数特征
  4. 闭包原理与实现并演示它
  5. 四种高阶函数,全部实例演示,并理解回调和纯函数是什么,写出你的答案

作业代码

  1. //定义常量,必须要初始化
  2. const URL_HOST = "www.gzj2001.com";
  3. console.log(URL_HOST);
  4. //定义变量,可以不初始化,变量可以重写
  5. let blogName;
  6. console.log(blogName);
  7. console.log("-------");
  8. blogName = "城南花开";
  9. console.log(blogName);
  10. //函数可以被重写
  11. function getInformation() {
  12. return "美好的事情即将发生~";
  13. }
  14. console.log(getInformation());
  15. function getInformation() {
  16. return "现在美好的事情已经发生了~";
  17. }
  18. //匿名函数
  19. let good = function () {
  20. return "你改变不了我的内容";
  21. }
  22. console.log(good);
  23. console.log(good());
  24. console.log("---------");
  25. //使用箭头函数
  26. let sum = function (a, b) {
  27. return a + b;
  28. };
  29. // 箭头函数用来简化 "匿名函数" 的声明
  30. sum = (a, b) => {
  31. return a + b;
  32. };
  33. //箭头函数的参数特征
  34. //如果函数只有一条语句,可不写return
  35. let list = (a, b) => a + b;
  36. console.log(list(1, 2));
  37. //如果只有一个参数,小括号可以省略
  38. let list2 = a => a + "小括号能省略";
  39. console.log(list2("list2"));
  40. //如果没有参数,小括号不能省略
  41. let list3 = () => "小括号不能省略";
  42. console.log(list3());
  43. //闭包
  44. function getAllUser() {
  45. let userList = {
  46. id: 1,
  47. name: "admin",
  48. email: "admin@qq.com",
  49. }
  50. return function () {
  51. return userList;
  52. }
  53. }
  54. console.log("--------");
  55. console.log(getAllUser());
  56. console.table(getAllUser()());
  57. //高阶函数
  58. // 1.回调函数:写在参数内的函数
  59. document.addEventListener("click", function () {
  60. alert("Hello World~~");
  61. });
  62. // 2.偏函数: 简化了声明时的参数声明
  63. let sum2 = function (a, b) {
  64. return function (c, d) {
  65. return a + b + c + d;
  66. };
  67. };
  68. //可以先储存固定需要传入的一部分参数,然后一起传入
  69. let f1 = sum2(2, 3);
  70. console.log(f1(3, 4));
  71. // 3.柯里化:简化了调用参数
  72. sum3 = function (a) {
  73. return function (b) {
  74. return function (c) {
  75. return function (d) {
  76. return a + b + c + d;
  77. };
  78. };
  79. };
  80. };
  81. //一层一层的传入参数
  82. let res = sum3(10)(20)(30)(40);
  83. console.log(res);
  84. // 4.纯函数:完全独立于调用上下文,返回值只能受到传入的参数影响
  85. function addSum(a,b){
  86. return a + b;
  87. }
  88. console.log(addSum(1,8));
  89. //理解回调和纯函数是什么。
  90. // 回调函数是沟通两个不同功能函数的中间件,类似以前的电话接线员。
  91. // 纯函数是自己写的功能函数,返回的内容受到传入参数的影响而变化的。
  92. function testA(a,b){
  93. console.log("a is" + a);
  94. console.log("b is" + b);
  95. // console.log(testB(a,b));
  96. testB(a,b);
  97. }
  98. function testB(c,d){
  99. console.log(c + d);
  100. }
  101. testA(11,52);
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议