函数闭包

本文深入探讨了JavaScript中的闭包概念,包括其作用、表现形式和写法。闭包是一种能够访问外部函数变量的内部函数,即使外部函数执行完毕,闭包依然可以保留对外部变量的引用。这可能导致内存泄漏,但也为函数间共享状态提供了可能。文章通过实例展示了闭包如何解决计时器中i值的问题,并讲解了如何在实际开发中利用闭包进行参数传递。
摘要由CSDN通过智能技术生成

闭包

        闭包 -- 闭包函数 闭包变量
        1、(作用) 可以访问其他函数内部变量的 函数

        2、(表现方式)定义在函数内部的函数 -->闭包函数

        3、(写法)函数嵌套函数 。。里面的函数 ---闭包函数
        
    function a(){
        var x=1; 
        // x 闭包变量 -- 长期驻扎在内存中,不会销毁。可能导致内存泄漏
        // b 函数--闭包函数
        function b(){
            console.log("x",x);
        }
        b();

    }
  a()

  function a(){
        var x=1; 
        // x 闭包变量 -- 长期驻扎在内存中,不会销毁。可能导致内存泄漏
        // b 函数--闭包函数
        ;;(function (){
            console.log("x",x);

        })()
    }

  a()

    function a(){
        var x=1; 
        // x 闭包变量 -- 长期驻扎在内存中,不会销毁。可能导致内存泄漏
        // b 函数--闭包函数
        return  function (){
            console.log("x",x);

        }
    }
    @[TOC](这里写目录标题)

闭包应用

  a()()可以给计时器传参数
    for(var i=0;i<5;i++){

        // setTimeout(function(){
        //     console.log(i);
        // },1000*i)

        (function (i){
            // console.log(index)// 0 1 2 3 4
            setTimeout(function(){
                console.log(i)// 0 1 2 3 4
            },1000*i)
        })(i)
        // a(i);
    }
    */
    // console.log(i)

    function a(xxx){
        setTimeout(function(){
            console.log(xxx)
        },1000)
    }
    a("hhhhhhhhhhhh");
    a("哈哈哈哈哈哈哈");
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值