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

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

  • 变量:会变的量,可以多次更新(改变)。第一次赋值被称作初始化。
    使用,let
    1. <script>
    2. // 声明
    3. let useName;
    4. // 声明并初始化(第一次赋值)
    5. let itmName = '手机';
    6. console.log(useName);
    7. // 更新
    8. itmName = '电脑';
    9. console.log(itmName);
    10. </script>
  • 常量:一个不变的变量。不能更新,所以声明时必须初始化。
    使用,const
    1. const UNITPRICE = 3355;
  • 小知识点。 标识符:不要用中文。 命名方案:推荐使用驼峰式,常量则全部用大写

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

1.调用在前的时候,匿名函数无法被调用,函数可以。
2.函数可以被改变,匿名函数不可以

  1. <script>
  2. // 可以改变
  3. function getName(name) {
  4. return "名字"+name
  5. }
  6. console.log(getName("张三"));
  7. function getName(name) {
  8. return "姓名"+name
  9. }
  10. console.log(getName("张三"));
  11. // 匿名函数
  12. const sum = function (a) {
  13. return "无法改变"
  14. }
  15. </script>

3.箭头函数的参数特征

箭头函数是用来简化‘匿名函数’的声明。

  1. // 简化前
  2. let sum = function(a,b) {
  3. return a + b;
  4. };
  5. // 简化后
  6. sum = (a,b) => {
  7. return a+b
  8. };
  9. console.log(sum(1,2));

如果函数体只有一条语句,可不写return

  1. sum = (a,b) => a+b;
  2. console.log(sum(2,4));

如果只有一个参数,连小括号都可以不用了
let tips = str => console.log(str);
如果没有参数,小括号不能省略
tips = () => console.log("Success");
1.箭头函数没有原型属性prototype,不能当构造函数用
2.箭头函数中的this,始终与它的上下文绑定

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

闭包: 能够访问自由变量的函数,所以理论上讲,任何函数都是闭包
自由变量: 即不是函数参数变量也不是私有变量,存在于函数调用上下文中

  1. function a() {
  2. let n = 100;
  3. // 这个返回的子函数就是闭包
  4. return function () {
  5. return n;
  6. };
  7. }

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

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

  • 1.回调函数
    1. document.addEventListener("click", function () {
    2. alert("Hello World~~");
    3. });
  • 2.偏函数: 简化了声明时的参数声明。其原理是先声明构成函数执行条件的的必要参数,再将函数作为返回值

    1. let sum = function (a, b) {
    2. return function (c, d) {
    3. return a + b + c + d;
    4. };
    5. };
    6. let f1 = sum(1, 2);
    7. console.log(f1(3, 4));
  • 3.科里化。简化了调用参数

    1. sum = function (a) {
    2. return function (b) {
    3. return function (c) {
    4. return function (d) {
    5. return a + b + c + d;
    6. };
    7. };
    8. };
    9. };
    10. // 简化了调用参数
    11. let res = sum(10)(20)(30)(40);
    12. console.log(res);
  • 4.纯函数。完全独立于调用上下文,返回值只能受到传入的参数影响

    1. // 不是纯函数,受Date影响
    2. function getDate() {
    3. return Date.now();
    4. }
    5. console.log(getDate());
    6. // 是纯函数
    7. function add(a, b) {
    8. console.log(a + b);
    9. }
    10. add(1, 2);
  • 回调函数和纯函数
    回调函数是被作为一个实参传入到另外一个外部函数中,并且外部函数被调用。这个函数就被称为回调函数。
    纯函数就顾名思义,函数中没有其他函数为函数体的函数,他的返回值只受传入的参数影响

更多相关文章

  1. 20个基础函数的练习
  2. php字符串函数解析
  3. 到处是map、flatMap,啥意思?
  4. 快乐学习Pandas入门篇:Pandas基础
  5. PHP高级编程函数的返回值和闭包与作用域
  6. CV学习笔记(十六):直线检测
  7. csdn账号密码登录剖析(模拟登录)
  8. 爬虫js解密—剖析网易云加密
  9. php学习笔记(20个常用的字符串函数)

随机推荐

  1. 使用php浏览文件时,编写文件的完整路径
  2. Windows 环境下php安装openssl证书
  3. CentOS下安装php 5.6.19
  4. php项目防止sql注入的方法
  5. ()子句中的MySQL查询在索引列上很慢
  6. Kohana和ORM的关系has_many_through
  7. 与vanilla JS的Ajax请求正在退回200OK
  8. 维基百科,如在PHP中列出标题的索引
  9. php 显示某一个时间相当于当前时间在多少
  10. php默认有最大执行时间