闭包和作用域的理解

本文最后更新于:2024年11月17日 晚上

要完全理解闭包,首先要弄明白Javascript中的作用域的机制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
let name = '12312313'

function outFun(){
let name = 'test'
let age = 12
return function innerFun(){
console.log(name)
console.log(age)
}
}

const demo = outFun()

demo()

我们以上面的示例代码来讲解一下js中的作用域机制:

首先js引擎拿到这段js代码的时候,我们从第一行往下看

变量的赋值有 传值和传址的区别,而函数的传参只有按值传递