閉包
自由變量的查找,是在函數定義的地方,向上級作用域查找。
不是在執行的地方
作用域分為三種:
全局作用域
函數作用域
塊級作用域 -->{}
function print(fn){
let a = 200
fn()
}
let a =100
function fn(){
console.log(a)
}
print(fn)
function create(){
let a =100
return function(){
console.log(a)
}
}
let fn = create() // 100
let a = 200
fn()
兩個函數的輸出結果都是100