Practical Training 函数(高阶函数、函数的回调、jQuery的原理、回调地狱)

本篇内容为课堂的补充知识;简单的外扩;

高阶函数的代码:

1的内容
        // function f(){
        //     // 2的内容
        //    return function(){
        //        console.log("f()");
        //    }
        // }
        // 接1的内容
        // console.log({}); // {}
        // console.log(typeof {}); // object
        // console.log(arr instanceof Object); // true
        // ===
        // 接2的内容
    //    console.log(f());  //  结果:ƒ (){                console.log(f());           }
        // f()(); // 输出的直接是:f()

此高阶函数中有两种方法,其中console.log 后面的注释内容是浏览器后台打印出来的内容。

函数的回调:

// 函数的回调
        // function f(fun){
        //     fun()
        // }
        // function sum(){
        //     console.log("sum");
        // }
        // sum();//sum 
        // f(sum); //sum

函数的回调是什么?

答:被作为参数传递的函数

jQuery的原理:

/ jquery 的原理
        // function f(fun,fun2){
        //     // arguments
        //     btn.click = function(){
        //         fun();
        //         fun2();
        //     }
        // }

jQuery的原理是什么?

答:1、jQuery的实现原理

1)jQuery采用的是构造函数模式进行开发的,jQuery是一个类

2)上面说的常用的方法 (CSS、属性、筛选、事件、动画、文档处理)都是定义在jQuery.prototype上的 ->只有jQuery的实例才能使用这些方法

2、选择器/筛选

回调地狱:

回调地狱 
        // function f(fun){
        //     fun();
        // }
        // 这个是回调地狱可以一直传
        // f(f(f(f())));
        // 后来改了  ==》 Promise 、then
    //    new Promise().then().then().then();

什么是回调地狱?

答:到底什么是回调地狱? 简单的说,回调地狱就是Callback里面又套了一个Callback,但是如果嵌套层数过多,仿佛掉入地狱,于是有了回调地狱的说法。

优势: 回调地狱给我们带来什么?

回调地狱的优势:

1.解耦,回调将子过程主过程中解耦。 对于相同的输入,可能对其有不同的处理方式。在回调函数,我们完成主流程,对于过程中的子流程从主流程中分离出来。

2.异步回调不会阻塞主线程。举个例子:就像是:员工没有完成工作之前老板就已经下班,当工作完成后,会通过另一个线程通知老板。老板在这个过程无需等待子过程。



posted @ 2021-11-18 16:13  小张同学的派大星吖  阅读(150)  评论(0编辑  收藏  举报