刚学习JS不久,对于很多的感念理解的都不够透彻,不得不经常到网上搜寻概念,今后会尽力把自己的理解记录下来,希望可以早日成为一名前端攻城狮;
闭包:
百度给出的概念:闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
个人理解.闭包本身是一种函数,其作用是能够读取其他函数的内部变量;
闭包的好处就是可以减少全局变量的使用,在函数内部声明的局部变量在外部也可以通过闭包实现变量的传导;
代码样例:
为图片点赞
function getValue() {
var value=2;
return function () {
//每一次点击的时候,都应该改变当前点击按钮的value值
this.value=“赞(”+(value++)+")";
}
}
//获取所有的按钮
var btnObjs=my$(“input”);
//循环遍历每个按钮,注册点击事件
for(var i=0;i<btnObjs.length;i++){
//注册事件
btnObjs[i].οnclick=getValue();
}