博主信息
博文 70
粉丝 1
评论 0
访问量 68767
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
变量|常量-函数|匿名函数|箭头函数-闭包-高阶函数
葡萄枝子
原创
799人浏览过

变量|常量-函数|匿名函数|箭头函数-闭包-高阶函数

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

1. 实例演示变量与常量的区别

  • 变量:可以先声明,后赋值,再更新;
  • 常量:必须在声明时赋值,后不能更新和删除。
  • 变量和常量都不可重复声明(var 声明除外)
  1. // 变量
  2. let a;
  3. // 未初始化变量,输出 undefined
  4. console.log(a);
  5. // 变量赋值
  6. a = 0;
  7. // 输出 0
  8. console.log(a);
  9. // 变量更新
  10. a = 1;
  11. // 输出 1
  12. console.log(a);
  13. // 初始化时赋值
  14. let b = 2;
  15. // 输出 2
  16. console.log(b);
  17. // 常量
  18. const c = 3;
  19. // 输出 3
  20. console.log(c);

变量与常量的区别

2. 函数与匿名函数的区别

  • 函数:有函数名,函数可以重写;
  • 匿名函数:没有函数名的函数,可以赋值给一个常量,防止重写,更新。
  1. // 函数
  2. function sum1(a, b) {
  3. return a + b;
  4. }
  5. // 函数输出 1 + 2 输出 3
  6. console.log(sum1(1, 2));
  7. // 匿名函数
  8. const sum2 = function(a, b) {
  9. return a + b;
  10. }
  11. // 匿名函数 2 + 3 输出 5
  12. console.log(sum2(2, 3));

函数与匿名函数的区别

3. 箭头函数的参数特征

  • 箭头函数简化匿名函数的声明
  • 箭头函数参数特征:
    • 没有参数时,参数 () 不能省略
    • 只有一个参数时,参数 () 可以省略
    • 两个或多个参数,参数 () 不能省
    • 多条语句时,函数体 {} 不能省
  1. // 没有参数时,参数 () 不能省略
  2. let sum = () => true;
  3. // 返回 true
  4. console.log(sum());
  5. // 只有一个参数时,参数 () 可以省略
  6. sum = (a) => a;
  7. sum = a => a;
  8. // 返回 0
  9. console.log(sum(0));
  10. // 两个或多个参数,参数 () 不能省
  11. sum = (a, b) => a + b;
  12. // 返回 3;
  13. console.log(sum(1, 2));
  14. // 多条语句时,函数体 {} 不能省
  15. sum = (a, b) => {
  16. let c = a + b;
  17. return c;
  18. }
  19. // 返回 5
  20. console.log(sum(2, 3));

箭头函数的参数特征

4. 闭包原理与实现并演示它

  • 闭包:能访问自由变量的函数
  • 自由变量:存在函数调用的上下文中,不是函数自身的参数变量,也不是函数内部的私有变量
  1. let x = 1;
  2. // 函数 y 内访问自由变量 x,函数 y 是闭包函数
  3. let y = () => x;
  4. // 返回 1
  5. console.log(y());
  6. // 函数 s 内访问自由变量 x ,函数 s 是闭包函数
  7. let s = () => {
  8. // 变量 y 对函数 s 是私有变量
  9. let y = x + 1;
  10. // 变量 y 对函数 z 是自由变量,函数 z 也是闭包函数
  11. let z = () => x + y;
  12. return z;
  13. }
  14. // 返回 3
  15. console.log(s()());

闭包原理

5. 四种高阶函数,全部实例演示,并理解回调和纯函数是什么,写出你的答案

高阶函数: 使用函数为参数或者将函数做为返回值的函数

  • 回调函数:使用函数作为参数传递
  1. // 回调函数
  2. let fa = a => a();
  3. let foo = () => 'foo';
  4. // 把函数 foo 作为参数传递给函数 fa,foo 是回调函数
  5. console.log(fa(foo));
  • 偏函数:简化声明
  1. // 偏函数:简化声明
  2. fa = (a, b) => {
  3. return c => a + b + c;
  4. }
  5. // 返回 6
  6. console.log(fa(1, 2)(3));
  • 柯里化:简化调用参数
  1. // 柯里化:简化调用参数
  2. fa = a => b => c => a + b + c;
  3. // 返回 9
  4. console.log(fa(2)(3)(4));
  • 纯函数:返回值只能受到传入的参数影响
  1. // 纯函数
  2. fa = a => a;
  3. console.log(fa(true));

高阶函数

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:闭包理解了, js原理就理解了一半,这也是面试最常问到的问题
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学