function2--闭包

本文详细介绍了JavaScript中的闭包概念及其应用场景,并解释了闭包如何帮助访问函数内部变量。同时探讨了作用域的定义及不同层级函数间变量访问的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三.闭包
定义:1.函数嵌套函数
2.返回内层函数;
3.内层函数的返回值不会被释放;
局部变量可以被释放;全局变量是不会被释放的;
闭包的应用场景:如果你想访问函数体内的变量;那么就用闭包;
ps:闭包占用内存,请谨慎使用;
demo1

 function outer(){
        function inner(){
            var num=10;
            return num;  //return的作用:1.返回值在函数上面;2.中断函数的执行!
        }
        var aa=inner();
        return aa;

    }
    console.log(outer());//闭包函数执行顺序:先执行最里面的,然后层层往外;
 //闭包函数
        function outerFun1() {
            var num = 11;
            return function () {
                num++;
                return num;
            }
        }
        var num=outerFun1();
        console.log(num());//12
        console.log(num());//13

        console.log('*****************************************');
        //普通函数
        function outerFun2() {
            var num = 11;
            function inner() {
                num++;
                return num;
            }
            console.log(inner());
        }

        outerFun2();//11
        outerFun2();//11

回调函数:

  //回调函数的使用准则:你做你自己的事,我到了通知你。你----》就是回调函数
        function fun1(num1,num2,fun){
            fun(num1,num2);
        }
        var fun2=function(a,b){//回调函数
            console.log(a+b);
        };

        fun1(100,200,fun2);

//回调函数的使用准则:你做你自己的事,我到了通知你。你—-》就是回调函数
//异步准则
function fun1(num1,num2,fun){
fun(num1,num2);
}

    fun1(100,200,function(num1,num2){
        console.log(num1+num2);
        console.log(num1*num2);
    });

四:作用域
定义:是指有序访问函数内部变量;
父级函数不能直接访问子级函数的变量;
子级函数可以直接访问父级函数的变量;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值