变量分为局部变量和全局变量
局部变量: 只在定义的函数内部使⽤
全局变量: 可以在整个script作⽤域内都可以使⽤
作⽤域链,只有在⾃⼰当前的⼩作⽤域内找不到才会向⽗级作⽤域
寻找,直到找不到为⽌(存在同名变量时,在当前作⽤域内局部变量
会覆盖全局变量,局部变量优先级⽐较⾼)
闭包简单理解:可以调⽤函数内部变量的函数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>深度剖析变量作⽤域与闭包</title>
</head>
<body>
<script>
//全局变量
var a = 10
function fun(){
console.log(a)
}
fun();
function fun1(){
//局部变量,函数外部不能访问
var b = 20
}
//console.log(b);
//闭包
function fun2(){
var c = 30
var d = function(){
console.log('c='+c)
}
return d
}
fun2()()
</script>
</body>
</html>