闭包函数

作者: wy22 | 来源:发表于2021-11-27 13:46 被阅读0次

    定义一个a方法,在a方法中定义一个b方法,并且b方法里面用到了a方法里面定义的变量,

    那么此时就形成了闭包函数

      // 闭包函数:两个函嵌套定义,里面的函数用到了外面函数的变量,此时这两个函数就形成了闭包。

            function fun1(){

                let num1 = 10

                let num2 = 20

                function fun2(){

                    let sum = num1 + num2

                    return sum

                }

                //返回里面的函数

                return fun2

            }

            let r = fun1()

            console.log(r);

            console.log(r());

     // 定义一个闭包函数,实现计算器功能

            function myCalc(num1,num2,type){

                switch(type){

                    case '+':

                        return function(){

                            return num1 + num2

                        }

                    case '-':

                        return function(){

                            return num1 - num2

                        }

                }

            }

            //先准备好你的数据

            let n1 = 100

            let n2 = 50

            //将你的数据传给计算器方法,由计算器方法,返回一个计算方法。

            let js = myCalc(n1,n2,'+')

            //在做具体的计算之前,还先做些其他的事情

            console.log('查看用户是否登录');

            n1 = 555

            n2 = 145

            console.log('检查用户的权限');

            //其他事件准备好了后,执行计算方法

            console.log(js());

     // 闭包函数:两个函嵌套定义,里面的函数用到了外面函数的变量,此时这两个函数就形成了闭包。

            function fun1(){

                let num1 = 10

                let num2 = 20

                function fun2(){

                    let sum = num1 + num2

                    return sum

                }

                //返回里面的函数

                return fun2

            }

            let r = fun1()

            console.log(r);

            console.log(r());

    相关文章

      网友评论

        本文标题:闭包函数

        本文链接:https://www.haomeiwen.com/subject/bretxrtx.html