//说一下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>
原文:https://www.cnblogs.com/weiziyu/p/12574202.html