关于自函数的理解与闭包的理解

//说一下JS的作用域SCOPE
            //JS只有两个作用域,全局作用域和函数作用域
            
            
            
            
            //立即执行函数表达式IIFE (Imdiately Invoked Function Expression)
            // 一,啥是自函数IIFE,就是定义完就能运行的函数
            // 自函数的几种写法
            // 1, ( function ( “ 参数 ” ) { " 函数方法 " ; } ) ( “ 给参数传的值 ” )
            var a = (function(a,b){
                return a+b
            })(1,2)
            console.log(a)
            // 2, ( function ( " 参数 " ) { “ 函数方法 ” ; } ( " 给参数传的值 " ) )
            var b = (function(a,b){return a+b}(3,4))
            console.log(b)
            // 3 
            //var c = !function(a,b){return a+b}(5,6)
            //console.log(c)
            
            //我理解的闭包,通过内部函数持有外部函数变量,这样该变量处于函数作用域中,不会污染到全局作用域的变量
            
            // 通过闭包写一个计数器,count不需要声明为全局变量
            var time = function(){
                var count = 0
                return function(){
                    return count++
                }
            }
            var add = time()
            console.log(add())
            console.log(add())
            console.log(add())
            console.log(add())
https://blog.csdn.net/qappleh/article/details/80311443
<a href="// https://blog.csdn.net/qappleh/article/details/80311443">JS作用域与闭包的讲解</a>

猜你喜欢

转载自www.cnblogs.com/weiziyu/p/12574202.html