关于javascript:JavaScript高级-闭包理解-及-常见闭包

41次阅读

共计 457 个字符,预计需要花费 2 分钟才能阅读完成。

闭包的了解

  1. 如何产生闭包?

    • 当一个嵌套的外部(子)函数援用了嵌套的内部(父)函数的变量(函数)时,就产生了闭包
  2. 闭包到底是什么

    • 应用 chrome 调试查看
    • 了解一:闭包是嵌套的外部函数(绝大部分人)
    • 了解二:蕴含被援用变量(函数)的对象(极少数人)
    • 留神:闭包存在于嵌套的外部函数中
  3. 产生闭包的条件

    • 嵌套函数
    • 外部函数援用了内部函数的数据(变量 / 函数)
        function fn1() {
            var a = 2
            var b = 3
            function fn2() {    // 执行函数定义就会产生闭包(不调用外部函数)console.log(a)
            }
        }
        fn1()
        
        
        

常见的闭包

  1. 将函数作为另一个函数的返回值
        
            function fn1(){
                var a =2
                function fn2(){
                    a++
                    console.log(a)
                }
                return fn2
            }
            var f = f1()
            f()//3
            f()//4
            
  1. 将函数作为实参传递给另一个函数调用

             function showDelay(msg,time){setTimeout(function(){alert(msg)},time)
             }
             showDelay('123',2000)
             

正文完
 0