作用:实现数据私有
内层函数, 引用外层函数上的变量, 就可以形成闭包。
一个小例子
function count() {
let num = 0 //只能在count函数中访问到
function add() {
num++
console.log(num)
}
//执行count函数会返回add函数,相当于外面可以执行add函数,且不能直接访问修改num
return add
}
//addFN等价于返回的add函数
let addFN = count()
addFN() //1
给闭包传值
function sum(x) {
return function (y) {
return console.log(x + y)
}
}
//此时传值给sum函数的x
let fn = sum(3)
//此时传值给内部匿名函数的y
fn(10)
// 控制台结果为13
发表回复