闭包
一、闭包:
定义在一个函数内部的函数
二、闭包的作用:
1、可以访问父函数中的变量
2、可以锁住父函数中的变量
三、闭包的本质:
可以让它的父函数作用域永恒
function parent() {
var name = 'parent'
// console.log(name);
function child() {
var name = 'child'
console.log(name);
}
child()
}
parent()
闭包之锁住变量
随机数
function getRandom(min, max) {
var sum = Math.floor(Math.random() * (max - min) + min)
// console.log(sum);
return function () {
console.log(sum);
}
}
var result = getRandom(10, 20)
result()
result()
result()
result()
result()
result()
result()
result()
点赞案例
var btn = document.getElementById('btn')
console.log(btn);
btn.onclick = function () {
var count = 0
return function () {
count++
console.log(this);
this.innerHTML = `赞(${count})`
}
}()