简单点赞按钮的实现
实现效果
需求:每个图片下的按钮点击事件是独立的,点赞数量的叠加互不影响
html函数代码
按照常规逻辑js代码(错误)
会发现问题:下一张图片的点赞数不是从1开始,而是从上一张图片点赞数开始叠加
原因:num值一直处于叠加状态
解决方案:通过闭包的思想,将每一个存储点赞数的num值放在独立的空间里,从而实现点赞数量的叠加互不影响
正确js代码
闭包补充知识:
闭包:可以访问函数内部的局部变量的函数
闭包作用:就是为了在函数外部访问函数内部的局部变量用的.
注意: 闭包中调用函数一次,内部局部变量就会被声明一次.如果你想在外面使用的局部变量是同一个,那么就只能调用一次外部函数.